c++ 析构函数 ~
原创
©著作权归作者所有:来自51CTO博客作者luoganttcc的原创作品,请联系作者获取转载授权,否则将追究法律责任
视屏解说
析构函数就像细菌等微生物,对象消亡前做善后工作,比如释放分配的空间等
人一生最辉煌的一天,是从绝望和悲叹中产生人生挑战的欲望,并勇敢的迈向挑战的一天
析构函数为成员函数的一种,名字与类名相同,在前面加 ‘~’ 没有参数和返回值在C++中“~”是位取反运算符。
一个类最多只能有一个析构函数。析构函数不返回任何值,没有函数类型,也没有函数参数,因此它不能被重载。
构造函数可能有多个,但析构函数只能有一个,就像人来到人世间,可能出生的环境家庭不同(重载构造函数),但最终都会死亡(析构函数)。
#include <iostream>
using namespace std;
class Circle
{
public:
Circle()
{
cout<<"第一个构造函数"<<"\n"<<endl;
int x,y=0;
float radius=0;
}
Circle(int x,int y,float radius)
{
this->x=x;
this->y=y;
this->radius=radius;
cout<<"第二个构造函数"<<"\n"<<endl;
}
~Circle()
{
cout<< "析构函数释放资源"<<"\n"<<endl;
}
public:
int x;
int y;
float radius;
};
int main()
{
Circle a;
Circle b(0,0,3);
return 0;
}
第一个构造函数
第二个构造函数
析构函数释放资源
析构函数释放资源
Process finished with exit code 0