1.构造函数
- 什么是构造函数
构造函数是类的一种特殊的成员函数,它会在每次创建类的新对象时执行,用以为成员变量设置初始值。构造函数的名称与类名完全相同,并且不反回任何类型。当需要对成员变量设置初始值时,需要显示声明构造函数;当不需要对成员变量设置初始值,常常不会显示声明构造函数,但是此时,编译器会隐式生成一个默认构造函数,并且编译器隐式声明的构造函数为空。
//显式声明构造函数的类
class Test
{
public:
Test(int a) //显式构造函数
{
b = a;
}
void print()
{
cout << b << endl;
}
private:
int b;
};
//编译器隐式生产构造函数的类,隐式生成的构造函数为Test() {}
class Test
{
public:
void print()
{
cout << "Test constructor." << endl;
}
};
- 构造函数的初始化
显式声明的构造函数在初始化时有两种初始化方式:使用初始化列表来初始化和赋值初始化。
(1)初始化列表
格式:
构造函数():变量名1(数值),变量名2(数值){}
有以下三种情况必须使用初始化列表进行初始化:
1.需要初始化的数据成员是对象的情况(这里包含了继承情况下,通过显式调用父类的构造函数对父类数据成员进行初始化)
#include <iostream>
using namespace std;
class