定义
构造器:
1.与类名相同,无返回,被系统生成对象时自动调用,用于初始化
2.可以有参数,构造器的重载,默认参数
3.若未提供任何构造,系统默认生成一个无参空构造器。若提供,则不再生成默认构造器。
class 类名
类名(形式参数)
构造体
}
class A
{
A(形参)
{
}
}
规则:
1在对象创建时自动调用,完成初始化相关工作。
2无返回值,与类名同,
3可以重载,可默认参数。
4默认无参空体,一经实现,默认不复存在。
析构器(Destructor)
规则:
1对象销毁时,自动调用。完成销毁的善后工作。
2无返值,与类名同,无参。不可以重载与默认参数。
3系统提供默认空析构器,一经实现,不复存在
析构函数的作用,并不是删除对象,而在对象销毁前完成的一些清理工作。
#include<cstring>
using namespace std;
class Stu
{
public:
Stu()
{
name=new char[100];
}
~Stu() //这里如果没有,编译器会自动产生。
{
delete []name; //析构可以delete删除构造器开创的空间
}
char *name;
int age;
};
int main()
{
Stu *ps=new Stu;
strcpy(ps->name,"chen");
delete ps; //delete char*和int 的8个字节,函数在这里是不开创空间的
return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载