1.析构函数的特点
析构函数是类的特殊的成员函数,其具有如下特点:
1)函数名必须是“~类名”;
2)既没有返回类型,也没有参数;
3)不能被重载,即一个类只能有一个析构函数。
2.析构函数的作用
析构函数主要负责清理对象生命期内动态产生的资源。
3.析构函数的调用
析构函数在对象被销毁时自动被调用:
1)栈对象当其离开作用域时,其析构函数被作用域终止花括号调用;
2)堆对象的析构函数被delete/delete[]运算符调用。
4.缺省析构函数
如果一个类没有显式定义析构函数,那么系统会为该类提供一个缺省析构函数:
1)对基本类型的成员变量,什么也不做;
2)对类类型的成员变量,调用相应类型的析构函数。
5.对象的销毁过程
1)调用析构函数
A.执行析构函数代码
B.调用成员子对象的析构函数
C.调用基类子对象的析构函数
2)释放对象所占用的内存空间