与构造函数功能相反,析构函数不是完成对象的销毁,局部对象销毁工作是由编译器完成的。而对象在销毁时会自动调用析构函数,完成对象中资源的清理工作。(打扫卫生的~)
特征1.析构函数名是在类名前加上字符~。
2.无参数无返回值类型。
3.一个类只能由一个析构函数。若未显式定义,系统会自动生成默认的析构函数。
※析构函数不能重载!
4.对象生命周期结束时,C++编译系统会自动调用析构函数
默认生成析构函数特点:
跟构造函数(见上一条博客)类似:a.内置类型不做处理;b.自定义类型成员会去调用他的析构。
一般有动态开辟资源的话需要自己显式写析构函数。没有什么需要清理的不需要写,默认生成的就够用。



