析构函数

析构函数

析构函数与构造函数对立,用于释放构造函数在创建对象后所占用的内存

析构函数就是在构造函数上取反(~)

当一个对象声明周期结束时,其所占用的内存空间就要被收回,这个工作由析构函数完成

析构函数是反向的构造函数,析构函数不允许有返回值,不能带参数,一个类中只能存在一个析构函数

析构函数的作用于构造函数正好相反,对象超出其作用范围,内存空间就要被析构函数回收

根据这些特点,我们在构造函数中初始化对象的某些成员变量,给其分配内存空间(堆内存),在析构函数中

释放对象运行期间所申请的资源

 

例:

//--析构函数--------------------------------------------------------



#include <iostream.h>



class Point 

{

public:

    int x;

    int y;

    Point() //构造函数

    {

        x=0;

        y=0;

    }

    ~Point() //#  释放构造函数占用的内存

    {

        

    }

    void output()

    {

        cout<<x<<endl<<y<<endl;

    }

};



void main()

{

    Point pt;    

    pt.output();  //程序执行到此处会跳转到析构函数处(#号处)释放构造函数占用的内存

}

 

你可能感兴趣的:(函数)