目录
析构函数的概念
当对象被销毁的时候,假如我们不写编译器会自动调用默认析构函数来对对象进行处理,默认析构函数不是销毁对象中的变量的,而是对对象中的变量进行清理
#include<iostream>
using namespace std;
class Data
{
public:
~Data() // 默认析构函数的创建
{
free(a); //在销毁的时候可以自动释放内存
a = NULL;
}
private:
int* a;
};
int main()
{
Data d;
return 0;
}
我们不写编译器生成的是默认析构函数,对自定义类型不处理,内置类型处理,假如new出来的对象,需要我们自己写析构函数进行处理
析构函数的特性
1. 析构函数名是在类名前加上字符 ~
2. 无参数无返回值,所以不能进行函数重载
3. 一个类有且只有一个析构函数。若未显式定义,系统会自动生成默认的析构函数
4. 对象生命周期结束时,C++编译系统系统自动调用析构函数