/**************************************************************************************************************************
模块说明
虚析构函数
【情况1】情况一:将基类Point中的析构函数声明为不带virtual的非析构函数 即:Point(){};
则运行结果为:executing Point destructor
【情况2】情况二:将基类Point中的析构函数声明为虚析构函数,即:virtual ~Point(){}
则运行结果为:executing Circle destructor
executing Point destructor
***************************************************************************************************************************/
#include<iostream>
using namespace std;
class Point{
public:
Point(){};
~Point() //情况一:将基类中的析构函数声明为非虚析构函数
{
cout<<"executing Point destructor"<<endl;
}
};
class Circle:public Point{
public:
Circle(){};
~Circle()
{
cout<<"executing Circle destructor"<<endl;
}
};
int main()
{
Point *p=new Circle;
delete p;
system("pause");
retu
C++---------之--------【虚析构函数】
最新推荐文章于 2024-05-23 21:45:09 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)