C++ 成员变量列表初始化
时间: 2024-10-05 07:03:01 浏览: 40
在C++中,成员变量列表初始化是指在类定义时,直接在成员变量声明后面指定其初始值,这种做法被称为静态初始化。有两种常见的方法:
1. **数据成员的显式初始化**:
```cpp
class MyClass {
public:
int x = 10; // 显式初始化整型成员变量x为10
double y; // 可省略初值,隐含默认初始化
private:
std::string z{"Hello World"}; // 使用花括号直接初始化字符串
};
```
在这个例子中,`x`和`z`都是直接在声明时被赋予了初始值。
2. **构造函数初始化列表**:
如果你有多个成员需要初始化,可以使用构造函数初始化列表,在类体外为每个成员分配一个初始值,如下所示:
```cpp
class MyClass {
public:
MyClass(int a, const char* b) : x(a), y(*b) {} // 在构造函数中初始化
private:
int x;
char y; // 注意这里的y是一个字符,所以需要解引用
};
```
这里通过构造函数的形式对`x`和`y`进行了初始化。
阅读全文