对象的销毁

如何进行销毁:在类的public中定义一个free函数,调用free函数进行销毁。

      class Test

         {

          int *p;

      public:

          Test() {  p = new int; }

          void free() { delect p; };

      }

    

析构函数:

    定义:~ClassName()

    作用:清理类申请的内存。

    注意:析构函数没有参数和返回值声明(不能重载),西沟函数在对象销毁时自动被调用。

#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);     // 1
                                // 2
    delete pt;                  // 2
                                // 1
    return 0;
}

 

    

析构函数定义准者:当类中定义了构造函数(申请了内存,打开了文件)。

 

posted @ 2019-04-15 21:23  张不源  Views(209)  Comments(0Edit  收藏  举报