C++ 成員初始化列表是一種在創(chuàng)建對象時初始化其成員變量的方法
class MyClass {
public:
MyClass(int x, int y) : a(x), b(y) {
// 構(gòu)造函數(shù)體
}
private:
int a;
int b;
};
class MyClass {
public:
static int static_a;
static int static_b;
MyClass() : a(static_a), b(static_b) {
// 構(gòu)造函數(shù)體
}
private:
int a;
int b;
};
// 在類定義外初始化靜態(tài)成員變量
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) {
// 構(gòu)造函數(shù)體
}
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) {
// 構(gòu)造函數(shù)體
}
private:
MyOtherClass obj;
};
總之,C++ 成員初始化列表是一種強(qiáng)大且靈活的初始化成員變量的方法,但在使用時需要注意其限制。