Cpp中的虚析构函数
1.虚析构函数的作用:为了避免内存泄漏,而且是当子类中会有指针成员变量时才会使用到。即虚析构函数使得在删除指向子类对象的基类指针时,可以调用子类的析构函数来实现释放子类中堆内存的目的,从而防止内存泄漏。
2.C++中开发中,基类中的析构函数一般都是虚函数,如下面的例子:
#include <iostream>
using namespace std;
// 基类
class Base{
public:
Base(){};
virtual ~Base(){ // 基类的析构函数是虚函数!
cout << "delete Base\n";
};
virtual void DoSomething(){
cout << "Do Something in class Base!\n";
};
};
// 派生类
class Derived: public Base{
public:
Derived(){};
~Derived(){
cout << "delete Derived\n";
};