C++提供了初始化列表语法,用来初始化属性。
我感觉实际上就是一个重新赋值的操作。简单介绍一下吧。
语法:构造函数():属性1(值1),属性2(值2)… {}
直接上代码吧:
#include "stdafx.h"
#include<string>
#include<iostream>
using namespace std;
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();
system("pause");
return 0;
}