虚析构函数

来源:互联网 发布:安装已下载好的mac系统 编辑:程序博客网 时间:2024/06/15 20:02
class Base{public:    Base(){};    virtual ~Base(){};public:    virtual void do(){std::cout << "I do something" << std::endl;};}class Child : public Base{    public:    Child (){};    ~Child (){std::cout << "Child is delete" << std::endl;};public:    virtual void do(){std::cout << "I do something" << std::endl;};}int main(){    Base* pBase = new Child();    pBase->do();    delete pBase;}

程序得到的输出是
I do something
Child is delete

如果基类的析构函数不是虚函数,输出就会变成
I do something

0 0
原创粉丝点击