一、构造函数
构造函数是类的同名成员函数,没有返回值,当实例化对象时它会自动执行,一般负责对类进行初始化、分配资源
class 类名
{
int* p;
public:
类名(参数)
{
p = new int;
}
};
1、构造函数必须是public 否则无法实例化对象
2、构造函数可以重载,可以有多个版本
3、带参数的构造函数的调用方法:
类名 对象名(实参);
类名* 对象指针 = new 类名(实参);
4、默认情况下编译器会自动生成一个无参构造函数,该函数什么都不做,一旦显示地实现了构造函数,则编译器不生成该函数
类名 对象名; //调用无参构造,如果没有无参构造则报错
5、也可以通过设置构造函数的默认形参达到无参构造的效果
6、构造函数没有返回值
7、不要使用malloc为类实例化对象分配内存,因为malloc不会调用构造函数
二、、析构函数
析构函数负责对类对象进行收尾工作,例如:释放类中的资源、保存数据等,当类对象销毁时会自动调用执行
class 类名
{
int* p;
public:
类名(参数)
{
p = new int;
}
~类名()