首页 > TAG信息列表 > 纯虚析构
虚析构和纯虚析构
#include<iostream> #include<string> using namespace std; class Animal { public: Animal() { cout << "animal 的构造" << endl; } virtual void Speak() = 0; //子类不写析构函数也不会报错,可能因为子类有默认析构函数; virtual ~Animal() = 0; };C++核心编程 多态
class Animal { public: //Speak函数就是虚函数 //函数前面加上virtual关键字,变成虚函数,那么编译器在编译的时候就不能确定函数调用了。 virtual void speak() { cout << "动物在说话" << endl; } }; class Cat :public Animal { public:c++——抽象类的纯虚析构函数
一个示例: class Parent { public: Parent() {} virtual ~Parent() = 0; }; class Child : public Parent { //具体实现 }; int main() { { Parent* p = new Child(); } system("pause"); return 0; } 编译时会报如下错误: LNK2019 无法解析的外部符号 "public: v