6.12 使用析构函数
优质
小牛编辑
132浏览
2023-12-01
析构函数是类的特殊成员函数。类的析构函数名是类名前面加上代字符(~)这种命名规则很直观,因为本章稍后将会介绍,代字运算符是按位取反符,从这个意义上,析构函数是构造函数的反函数。
类的析构函数在删除对象时调用,即程序执行离开初始化类对象的范围时。析构函数本身并不实际删除对象,而是进行系统放弃对象内存之前的清理工作,使内存可以复用于保存新对象。
析构函数不接受参数也不返回数值。类只可能有一个析构函数,不能进行析构函数重载。
常见编程错误 6.10
向析构函数传递参数、指定析构函数的返回值类型(即使指定 void)、从析构函数返回数值或重载析构函数都是语法错误。
注意,前面介绍的类都没有提供析构函数。下面要介绍几个使用析构函数的例子。第8章将介绍析构函数适用于动态分配内存的对象类(例如数组和字符串)。第7章将介绍如何动态分配内存和释放内存。
软件工程视点 6.21
稍后会介招,构造函数和析构函数在 C++ 和面向对象编程中相当重要,不是这里的介绍所能说清楚的。