//虚拟析构函数
#include<iostream.h>
class base
{
public:
virtual ~base()//声明为虚拟析构函数,目的是在用delete运算符删除对象时,能保证析构函数能被正确执行
//~base()//声明为虚拟析构函数
{
cout<<"destructing base"<<endl;
}
};
class der:public base
{
public:
char *ch;
public:
der(int i)
{
ch=new char[i];
}
virtual ~der()//声明为虚拟析构函数
{
delete []ch;
cout<<"destructing der"<<endl;
}
};
void main()
{
base *b=new der(20);
delete b;
}
虚拟析构函数
最新推荐文章于 2025-02-19 22:37:31 发布