C++ 成员初始化列表是一种在创建对象时初始化其成员变量的方法
class MyClass {
public:
MyClass(int x, int y) : a(x), b(y) {
// 构造函数体
}
private:
int a;
int b;
};
class MyClass {
public:
static int static_a;
static int static_b;
MyClass() : a(static_a), b(static_b) {
// 构造函数体
}
private:
int a;
int b;
};
// 在类定义外初始化静态成员变量
int MyClass::static_a = 10;
int MyClass::static_b = 20;
class MyClass {
public:
MyClass(int& ref_x, int& ref_y) : a(ref_x), b(ref_y) {
// 构造函数体
}
private:
int& a;
int& b;
};
class MyClass {
public:
const int constant_a = 10;
const int constant_b = 20;
};
class MyClass {
public:
MyClass(const MyOtherClass& other) : obj(other) {
// 构造函数体
}
private:
MyOtherClass obj;
};
总之,C++ 成员初始化列表是一种强大且灵活的初始化成员变量的方法,但在使用时需要注意其限制。