C++之初始化列表
在c++中,初始化列表可以很大程度的简化参数的赋值,例如
class Student
{
public:
Student();
int age;
string name;
string number;
};
Student::Student():age(10), name("张三"), number("202310100599")
{
最近发现C++中的一个新奇语法,在初始化成员列表中,可以用变量名+括号实现参数初始化,以前没有用过,在此记录一下,代码如下:
class A{
public:
A()
{
cout<<"default construct"<<endl;
}
A(int _a) : a(_a)
{
cout<<"param construct"<<endl;
}
private:
int a;
};
class B
{
public:
B();
A a;
};
B::B() : a()
{
}
int main() {
B b;
}
运行这个代码,会输出default construct,意思就是,在初始化列表中,调用a(),相当于调用了类A的默认构造函数。