初始化列表
作用:
C++提供了初始化列表语法,用来初始化属性,显得代码更加简洁。不需要再写赋值语句。
class Object{
private o_a;
private o_b;
//可以摒弃原始的赋值操作,把
Object (int a,int b){
o_a=a;//直接省略这两行代码
o_b=b;//直接省略这两行代码
}
Object (int a,int b):o_a(a),o_b(b){}
//显得代码更加简洁。不需要再写赋值语句
}
语法:构造函数():属性1(值1),属性2(值2)... {}
示例:
class Person {
public:
传统方式初始化
//Person(int a, int b, int c) {
// m_A = a;
// m_B = b;
// m_C = c;
//}
//初始化列表方式初始化
Person(int a, int b, int c) :m_A(a), m_B(b), m_C(c) {}
void PrintPerson() {
cout << "mA:" << m_A << endl;
cout << "mB:" << m_B << endl;
cout << "mC:" << m_C << endl;
}
private:
int m_A;
int m_B;
int m_C;
};
int main() {
Person p(1, 2, 3);
p.PrintPerson();
return 0;
}