C++ 析构函数

——用构造函数创建对象后,程序负责跟踪该对象,直到其过期为止。对象过期时,程序将自动调用一个特殊的成员函数—析构函数完成清理工作,如释放构造函数使用new分配的内存。

析构函数的形式:

在类名前加上~,没有返回值和声明类型,没有参数:

~Stock();

  

调用:

  • 对于被声明为自动变量的类对象,过期时析构函数将自动调用(我的程序中若程序结束时尚有该类型类对象未过期,则将自动从后往前依此调用析构函数)。
  • 对于被声明为静态变量的对象(外部、静态、静态外部或来自名称空间),则在程序结束时(晚于自动变量类型对象)调用对象的析构函数。

什么时候创建:

如果构造函数使用了new,则必须提供使用delete的析构函数。

自动创建:

没有提供析构函数,编译器将隐式地声明一个默认析构函数,并在发现导致对象被删除的代码后,提供默认析构函数的定义。

 

posted @ 2020-06-03 15:02  孱陵  阅读(271)  评论(0编辑  收藏  举报