虚析构函数
写法:
virtual 加析构函数
工作过程:之后派生析构函数先被调用,再调用基类的析构函数,相当于多加一次虚构函数
什么时候用:
在写一个要扩展的类或子类时一定要声明析构函数是虚函数;
代码示例:
class B
{
public:
virtual ~B()
}
class E:public B
{
}
int main()
{
B*base=new B();
delete base;
E*de=new E();//构造B和E
delete de;//析构B和E
B*ploy=new E();//会构造E和B
delete ploy//会导致内存泄漏 用虚析构函数可避免
}