zoukankan      html  css  js  c++  java
  • 第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;
    }
    


    注意:

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

  • 相关阅读:
    单例对象
    G1回收算法
    Java锁
    VUE开发
    Java线程池
    Java线程状态
    什么是进程,什么是线程
    maven 常用命令
    linux启动脚本,暂停脚本
    delphi---控件使用
  • 原文地址:https://www.cnblogs.com/huangdengtao/p/11826662.html
Copyright © 2011-2022 走看看