析构函数
析构函数与构造函数对立,用于释放构造函数在创建对象后所占用的内存
析构函数就是在构造函数上取反(~)
当一个对象声明周期结束时,其所占用的内存空间就要被收回,这个工作由析构函数完成
析构函数是反向的构造函数,析构函数不允许有返回值,不能带参数,一个类中只能存在一个析构函数
析构函数的作用于构造函数正好相反,对象超出其作用范围,内存空间就要被析构函数回收
根据这些特点,我们在构造函数中初始化对象的某些成员变量,给其分配内存空间(堆内存),在析构函数中
释放对象运行期间所申请的资源
例:
//--析构函数-------------------------------------------------------- #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(); //程序执行到此处会跳转到析构函数处(#号处)释放构造函数占用的内存 }
原文:http://www.cnblogs.com/ROHALLOWAY/p/4562225.html