0
点赞
收藏
分享

微信扫一扫

C++语言基础 例程 虚析构函数

Ichjns 2022-03-17 阅读 88


问题的由来

#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;
}
private:
int radius;
};


int main( )
{
Point *p=new Circle;
delete p;
return 0;
}



使用虚析构函数


#include <iostream>
using namespace std;
class Point
{
public:
Point( ) { }
virtual ~Point()
{
cout<<"executing Point destructor"<<endl;
}
};


class Circle:public Point
{
public:
Circle( ) { }
~Circle( )
{
cout<<"executing Circle destructor"<<endl;
}
private:
int radius;
};


int main( )
{
Point *p=new Circle;
delete p;
return 0;
}




举报

相关推荐

0 条评论