c++公有派生如何定义派生类的构造函数。
时间: 2024-02-01 16:15:40 浏览: 78
详解C++编程中多级派生时的构造函数和访问属性
在 C++ 中,派生类的构造函数可以调用基类的构造函数来初始化基类的数据成员,而且必须在其初始化列表中显式调用。公有派生可以继承基类的公有成员和保护成员,但不能继承基类的私有成员。因此,在公有派生中,派生类的构造函数应该调用基类的公有构造函数,以初始化基类的公有成员和保护成员。以下是一个公有派生的示例代码:
```
class Base {
public:
Base(int x) : m_x(x) {}
protected:
int m_x;
};
class Derived : public Base {
public:
Derived(int x, int y) : Base(x), m_y(y) {}
private:
int m_y;
};
```
在上面的示例中,派生类 `Derived` 继承了基类 `Base` 的成员变量 `m_x`,并且定义了自己的成员变量 `m_y`。`Derived` 的构造函数将 `x` 传递给 `Base` 的构造函数来初始化 `m_x`,并将 `y` 初始化为 `m_y`。注意,在初始化列表中,我们使用 `:` 来分隔构造函数的参数和成员变量的初始化语句。
阅读全文