第22课.对象的销毁

倾然丶 夕夏残阳落幕 提交于 2019-12-04 01:20:02

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;
}


易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!