构造函数
语法:
class 类名
{
//设计一个构造函数
类名(参数列表)
{
//初始化类的动作
}
};
作用:初始化类中的成员,让一个对象创建后就立即可以使用。
1、函数名与类名相同
2、函数没有返回值
3、函数不需要用户调用,在创建对象时自动调用。
4、构造函数不一定要定义,也可以调用基类构造函数。
5、构造函数可以没有参数,也可以包含一个以上的参数,带参的构造函数用于初始化成员变量。 如下:
构造函数的重载:
class base
{
public:
//无参构造
base()
{
cout << "无参构造" << endl;
}
//带参构造
base(int tmp_a,float tmp_b)
{
cout << "初始化a b" << endl;
a = tmp_a;
b = tmp_b;
}
}
默认构造函数:当一个类没有编写构造函数时,系统会自动生成一个无参默认构造函数。
注意:在编写类的有参构造函数时一定要记得写上一个无参的构造函数,不然报错。
构造函数的编写区
!!##必须设计在 public 公共区##!!
因为在创建对象的时候会自动调用构造函数,把构造函数设计在保护区或者私有区,类外就无法调用了。
析构函数:
作用:释放类中数据成员
1、函数名与类名相同在函数名前面添加~
2、函数没有返回值,没有参数
3、当对象销毁时系统自动调用
4、析构函数没有参数列表,重载的依据是参数参数列表。
语法:
class 类名
{
public:
//析构函数
~类名(){
}
}
//例子:析构函数
class base
{
public:
~base(){
cout << "对象已死亡" << endl;
}
};