在C++中,成員初始化列表是一種在構(gòu)造函數(shù)中初始化類成員變量的方法。它允許你在構(gòu)造函數(shù)的參數(shù)列表之后,使用冒號(:)和逗號分隔的列表來初始化類的成員變量。這種方法比在構(gòu)造函數(shù)體內(nèi)賦值更高效,因?yàn)樗苯釉诔蓡T變量上賦值,而不需要創(chuàng)建臨時變量。
以下是一個簡單的示例,展示了如何使用成員初始化列表:
#include <iostream>
class MyClass {
public:
int x;
double y;
// 使用成員初始化列表初始化成員變量
MyClass(int a, double b) : x(a), y(b) {
std::cout << "Constructor called with x = "<< x << ", y = "<< y << std::endl;
}
};
int main() {
MyClass obj(10, 20.5);
return 0;
}
在這個示例中,我們定義了一個名為MyClass
的類,它有兩個成員變量x
和y
。我們在構(gòu)造函數(shù)的參數(shù)列表中使用成員初始化列表來初始化這兩個成員變量。當(dāng)創(chuàng)建MyClass
的實(shí)例時,構(gòu)造函數(shù)會被調(diào)用,并輸出成員變量的值。
請注意,成員初始化列表必須在構(gòu)造函數(shù)的參數(shù)列表之后,且冒號(:)之前。你可以在成員初始化列表中初始化多個成員變量,只需用逗號分隔即可。