虚析构函数的作用

来源:互联网 发布:linux 内核版本 历史 编辑:程序博客网 时间:2024/05/21 12:48

delete父类指针能够调用到子类析构函数

#include <iostream>using namespace std;//虚析构函数的作用class Animal{public:    Animal();    virtual ~Animal();    virtual void eat()    {        cout << "Animal eat\n ";    }private:    int m_iage;};Animal::Animal(){    cout << "Animal Constructr\n";}Animal::~Animal(){    cout << "Animal Deconstructr\n";}class Fish : public Animal{public:    Fish();    ~Fish();    void eat()    {        cout << "Fish eat\n";    }private:    int m_iage;};Fish::Fish(){    cout << "Fish Constructr\n";}Fish::~Fish(){    cout << "Fish Deconstructr\n";}int main(){    Animal*  pFish = new Fish();    pFish->eat();    delete pFish;    return 0;}

这里写图片描述

这里写图片描述