前面谈过构造函数,构造函数是用于类的对象初始化,完成初始化工作的。而析构函数和构造函数是
反向的,可以叫做“反向的构造函数”。主要的用处是:在类的对象被撤销(内存回收)时,自动调
用的。
析构函数的名称是:添加一个“~”符号,后面是类名,然后是(),例如 ~Item_base(){ }。析构
函数没有形参,没有返回值。所以析构函数是不可以重构的,一个类可以有很多的构造函数,但是只
有一个析构函数(应用于类的所有对象)。
以下的几种情况会进行对象的释放:
(1)使用运算符new分配的类的对象被删除(delete)时;
(2)一个具有块作用域的本地对象超出了它的作用域;
(3)临时对象的生存期结束。
(4)所在的程序结束运行。
有关析构函数的特殊的说明:
(1)析构函数不能结构形参
(2)析构函数没有返回类型(包括void)
(3)析构函数可能用return返回值
(4)析构函数不可以是const、volatile或者static,但是调用
析构函数的对象可以是const、volatile或者是static的
(5)析构函数可以是虚函数,称为【虚析构函数】
有关析构函数的心得
最新推荐文章于 2021-12-10 21:39:06 发布