<返回更多

C++析构函数(Destuctor)

2019-06-05    
加入收藏

析构函数(Destuctor)

1 析构函数是类中的一种特殊形式的成员函数

class 类名{
 public:
 ~类名 (void) {...}
};

1)析构函数名必须是 ~类名。

2)析构函数没有返回类型,也没有参数,所以无法重载。

3)一个类只能有一个析构函数。

4)主要负责清理对象创建时动态产生的资源。

2 当对象被销毁时,该对象的析构函数将被自动执行

1)栈对象当其离开作用域时,其析构函数被作用域终止右花括号调用。

2)堆对象的析构函数被 delete/delete[] 运算符调用。

3 缺省析构

1)如果一个类没有显示定义析构函数,那么系统会为该类提供一个缺省析构函数。

2)对于基本类型的成员变量,什么也不做。

3)对类 类型的成员变量,调用相应的类成员变量的析构函数。

4 对象的创建和销毁的过程

1)对象创建

--> 为对象分配内存

--> 依次调用类 类型的成员变量(成员子对象)的构造函数

--> 执行构造函数体的代码

2)对象销毁

--> 执行析构函数代码

--> 调用成员子对象的析构函数

--> 释放对象所占的内存

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>