C++的构造函数,和折构函数分别解释下..

来源:百度知道 编辑:UC知道 时间:2024/05/21 17:21:58

简单的说,构造函数用来做新生成对象的初始化工作。在以往的设计中,由于没有给变量初始化而带来的麻烦在这里几乎没有了。析构函数与构造函数对应,主要做空间的释放工作。当然了,如果类中没有指针一类的需要创建空间的变量,那么析构函数意义就没有那么大了。不过为了规范期间,还是完整的写出为好。安全第一,你说呢?
下面给一个例子:
class A{
private:
char *p;
public:
A(const char* ptr);
~A();
//一些函数的声明
};
A::A(const char* ptr){
p=new char [strlen[ptr]+1];//注意:这里给类里的指针变量申请空间
strcpy(p,ptr);//简单的拷贝动作
}
A::~A(){
if(p!=0) delete []p;//注意:如果指针不空,应该将指针指向的空间释放,看看格式。
}
//一些函数的定义

构造函数
1 在变量声明的时候自动调用该函数。
ClassName A; 自动调用ClassName的构造函数
ClassName *B; 不调用
B=new ClassName 调用构造函数
析构函数
1 在类定义的变量的生命周期结束时调用。
A 普通变量在生命周期结束,
delete B;指针在被 delete 时调用构造函数,

注意都是自动调用, 你可以在该函数中写一些代码, 可以自动执行。