在备战C++的学习当中,由于很多都用到函数,再次要求自己加深对函数的理解,C++中知识是并不多,我们只有不断的理解函数的真正用法,下面学习才会顺水推舟!加油!
析构函数(destructor) 与构造函数相反,当对象脱离其作用域时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new开辟了一片内存空间,应在退出前在析构函数中用delete释放)。
C++语言析构函数格式
C++当中的析构函数格式如下: class <类名> { public: ~<类名>(); }; <类名>::~<类名>() { //函数体 } 如以下定义是合法的: class T { public: ~T() }; T::~T() { //函数体 } |
当程序中没有析构函数时,系统会自动生成以下析构函数:
<类名>::~<类名>(){},即不执行任何操作。
下面通过一个例子来说明一下析构函数的作用:
#include<iostream> using namespace std; class T { public: ~T(){cout<<"析构函数被调用。";} //为了简洁,函数体可以直接写在定义的后面。 }; int main() { T *t=new T;//建立一个T类的指针对象t delete t; cin.get(); } 最后输出: |