1.析构函数
a.c++的类中可以定义一个特殊的清理函数:析构函数。析构函数的功能与构造函数相反。
b.定义:
~ClassName()
1).析构函数没有参数也没有返回值类型声明;
2).析构函数在对象销毁时自动被调用
(因为没有参数,所以析构函数不存在函数重载的问题)
#include <stdio.h>
class Test
{
int mi;
public:
Test(int i)
{
mi = i;
printf("Test(): %d
", mi);
}
~Test()
{
printf("~Test(): %d
", mi);
}
};
int main()
{
Test t(1);
Test *pt = new Test(2);
delete pt; //这里new分配的空间需要delete来释放时才会使对象调用它的析构函数,要是使用delete来释放结果如下第二张
return 0;
}
注意:
析构函数一般只有在类使用到内存时,才需要使用它来释放内存。