纯虚函数不需要实现也可以编译通过,但是纯虚析构函数例外。即使把析构函数声明为纯虚,也需要在某一个.cpp文件中给一个定义。
class A
{
public:
virtual ~A()=0;
};
A::~A(){} //没有这行编译不通过。
class B:A
{
public:
int _b;
};
int main()
{
B b;
}
纯虚函数不需要实现也可以编译通过,但是纯虚析构函数例外。即使把析构函数声明为纯虚,也需要在某一个.cpp文件中给一个定义。
class A
{
public:
virtual ~A()=0;
};
A::~A(){} //没有这行编译不通过。
class B:A
{
public:
int _b;
};
int main()
{
B b;
}