1.当我们使用构造函数声明了内存空间,或者打卡了一个文件,在我们不用的时候必须释放内存并关闭文件。
2.这些操作可以写再析构函数中。
3.析构函数是一个特殊的函数,函数名和类名相同,并且前面有一个~符号。
4.当对象不在使用时候,或者delete时,编译器会自动调用析构函数。创建的指针需要释放,并指向NULL
5.实例:
#include <iostream>
#include <string>
using namespace std;
class A
{
private:
int pid;
string name;
ifstream in;
int *p;
public:
A()
{
p = new int(1024);
cout <<"constructor"<< endl;
};
~A()
{
delete p;
p = NULL;
cout << "destructor" << endl;
}
};
int main()
{
A *a = new A;
delete a;
a = NULL;
system("pause");
return 0;
}