在C++中,成員初始化列表是一種在構造函數中初始化類成員變量的方法。它允許你在構造函數的參數列表之后,使用冒號(:)和逗號分隔的列表來初始化類的成員變量。這種方法比在構造函數體內賦值更高效,因為它直接在成員變量上賦值,而不需要創建臨時變量。
以下是一個簡單的示例,展示了如何使用成員初始化列表:
#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
。我們在構造函數的參數列表中使用成員初始化列表來初始化這兩個成員變量。當創建MyClass
的實例時,構造函數會被調用,并輸出成員變量的值。
請注意,成員初始化列表必須在構造函數的參數列表之后,且冒號(:)之前。你可以在成員初始化列表中初始化多個成員變量,只需用逗號分隔即可。