您的位置:首页 > 其它

虚析构函数

2011-11-24 13:38 120 查看
#include <iostream>

#include <string>

using namespace std;

class Base{

public:

virtual ~Base(){cout<<"Base destrutor"<<endl;} ///虚析构函数

/*再添加virtual的情况下,

Base* q = new Deriv();

delete q;

如基类指针指向派生类,那么删除基类指针的时候将调用派生类指针和基类指针。

*/

};

class Deriv: public Base{

public:

~Deriv(){cout<<"Deriv destrutor"<<endl;}

};

class C: public Deriv{

~C(){ cout<<"C destrutor"<<endl;}

};

int main()

{

Base* p = new Base();

delete p;

Base* q = new Deriv();

delete q;

Deriv* t = new C();

delete t;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: