C++为什么需要构造函数和析构函数
构造函数是在定义类对象时有程序自动调用的为类提供初始化操作的函数,其函数名和类名相同,无返回值。析构函数则做的事相反工作,主要是对类进行清理操作,当然你也可以在析构函数中做其他你想做的事情。通常析构函数是释放在构造函数中申请的内存。在构造函数前加~就可以构成析构函数,同样没有返回值,值得注意的是,析构函数最后定义为虚析构函数。
两种函数都是为了减少重复工作的
构造函数通常用来初始化:
class A{
int a,b;
A(){
a=0;
b=0;
}
};
析构函数通常用来释放空间:
class Node{
Node *l,*r;
Node(){
l=NULL;r=NULL;
}
~Node(){
if(l!=NULL)delete L;
if(r!=NULL)delete r;
}
};