第22课.对象的销毁

Posted huangdengtao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第22课.对象的销毁相关的知识,希望对你有一定的参考价值。

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

技术图片
技术图片

以上是关于第22课.对象的销毁的主要内容,如果未能解决你的问题,请参考以下文章

第八十二课线程的生命周期

第61课 智能指针类模板

python 第22课 列表 内存分析 列表常用操作

python 第22课 列表 内存分析 列表常用操作

第19课 对象的构造(下)

第22课 条件编译使用分析