析构函数 自定义析构函数 一、析构函数 析构函数(destructor) 与构造函数相反,当对象生命周期结束时(例如对象所在的函数已调用完毕),系统自动执行析构函数。析构函数往往用来做“清理善后” 的工作(例如在建立对象时用new malloc开辟了一片内存空间,应在退出前在析构函数中用delete,free释放)。 二、自定义析构函数 在前边的课程里,我们调用的都是默认的析构函数。 析构函数与构造函数不同,因为它没有返回值,也没有形参。所以决定了它只有且仅有一个析造函数存在。 析构函数定义如下 类名::~类名() Tdate::~Tdate() //date.h Tdate::~Tdate(void);//自定义析构函数 //date.cpp Tdate::~Tdate(void) { printf("进入析构函数 "); delete n;//清理工作 } //helloc++.cpp int test2() { Tdate d(1999,1,11); return d.year; } int _tmain(int argc, _TCHAR* argv[]) { Tdate s2; test2(); //test2.d对象生命周期结束 getchar(); return 0; }