虚析构函数

来源:互联网 发布:阿里云怎么重装 编辑:程序博客网 时间:2024/06/06 09:03

#include<iostream>
using namespace std;
class A
{
public:
 A(){}
 virtual ~A()  ///当用一个基类的指针删除一个派生类的对象时,派生类的析构函数会被调用
 {cout<<"destructor A is called"<<endl;}
  virtual void dosomething()
  {cout<<"A is do something"<<endl;}
private:
 int height;
 int width;
};
class B : public A
{
public:
 B(){}
 ~B()
 {cout<<"destructor B is called"<<endl;}
 void dosomething()
 {cout<<"B is do something"<<endl;}
private:
 int length;
};
int main()
{
 A *p=new B;
 p->dosomething();
 delete p;
 system("pause");
 return 0;
}