虚拟析构函数

来源:互联网 发布:tomcat java使用率 编辑:程序博客网 时间:2024/06/05 06:25

 //虚拟析构函数
#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;
}

原创粉丝点击