c++ 子类继承父类,构造方法怎么写
时间: 2024-10-11 17:12:32 浏览: 31
继承中的构造和析构-operating system design: the xinu approach 2nd edition
在C++中,子类继承父类时,可以通过以下方式调用父类的构造函数:
1. **隐式调用**:
如果父类有一个默认构造函数(即没有参数的构造函数),子类会自动隐式地调用它。例如,如引用[2]所示,`class b : public a`这句声明中,如果`a`类有一个默认构造函数,那么在创建`b`类的对象时,会先执行`a`类的构造。
```cpp
b run; // 这里会先调用a类的默认构造函数,再调用自己的构造函数
```
2. **显式调用**:
如果需要,子类也可以显式地在自己的构造函数中调用父类的构造函数。通常这样做是为了初始化父类的成员变量。但在这个示例中,由于父类`a`没有显示指定构造函数,所以默认构造会被隐式调用。
```cpp
// 如果你想在b类的构造函数中手动调用父类a的构造
class b : public a {
public:
b() : a() { // 显式调用父类构造函数
cout << "b类" << endl;
}
// ...
};
```
在这两个例子中,`run.f()`调用了`b`类的`f()`函数,而这个过程不会影响到`a`类的构造。
阅读全文