第22课.对象的销毁

1.析构函数

a.c++的类中可以定义一个特殊的清理函数:析构函数。析构函数的功能与构造函数相反。
b.定义:

~ClassName()
1).析构函数没有参数没有返回值类型声明
2).析构函数在对象销毁时自动被调用
(因为没有参数,所以析构函数不存在函数重载的问题)

include <stdio.h>

class Test
{
int mi;

public:
Test(int i)
{
mi = i;
printf("Test(): %d\n", mi);
}

~Test()
{
printf("~Test(): %d\n", mi);
}
};

int main()
{
Test t(1);

Test *pt = new Test(2);

delete pt; //这里new分配的空间需要delete来释放时才会使对象调用它的析构函数,要是使用delete来释放结果如下第二张

return 0;
}

注意:

析构函数一般只有在类使用到内存时,才需要使用它来释放内存。

posted @ 2019-11-09 16:43  人民广场的二道贩子  阅读(146)  评论(0)    收藏  举报