析构函数

析构函数

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

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

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

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

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

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

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

 

例:

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

#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();  //程序执行到此处会跳转到析构函数处(#号处)释放构造函数占用的内存
}

 

posted on 2015-06-08 23:07  Rohalloway  阅读(212)  评论(0编辑  收藏  举报

导航