继承的有参构造初始化列表就一次吗
时间: 2024-04-11 07:29:43 浏览: 54
c++ 子类构造函数初始化及父类构造初始化的使用
不是的,继承的有参构造函数可以使用初始化列表一次性初始化多个基类和成员变量。在初始化列表中,可以通过逗号分隔来初始化多个基类或成员变量。
例如,考虑以下示例代码:
```cpp
class Base {
public:
Base(int a) {
// 基类构造函数的实现
}
};
class Derived : public Base {
public:
Derived(int a, int b) : Base(a), member(b) {
// 初始化列表中同时初始化基类和成员变量
}
private:
int member;
};
```
在上述示例中,`Derived` 类继承自 `Base` 类,并且有一个成员变量 `member`。在 `Derived` 类的构造函数中,通过初始化列表同时初始化基类和成员变量。使用逗号分隔,首先调用 `Base` 类的构造函数 `Base(a)`,然后初始化成员变量 `member(b)`。
因此,通过初始化列表,可以一次性初始化多个基类和成员变量,提高代码的可读性和效率。
阅读全文