C++ 派生 class 个构造函数

C++ Derived class constructors

假设我有一个 class 代表图书馆的订户。然后我想创建多个其他派生 classes 代表不同类型的订阅者,例如学生、教授等。

  1. 如何编写派生的 class 构造函数?在我的基础 class 订阅者中,我有一个构造函数,它接受诸如姓名、年龄、身份证号码等参数。 但是,在我派生的 classes 中,我有额外的参数,例如 "schoolName"。如何为派生的 class 学生设置构造函数,知道我想调用 Subscriber 的基础 class 构造函数,并将值添加到一个额外的参数,即 schoolName。

  2. 也是我的第二个问题。将年龄、姓名等共享参数(基础 class 和派生 class 共享)作为私有参数进行保护是否更可取?这样学生就可以轻松访问他的名字和年龄

  1. 基础class构造函数:

Subscriber(const char *name, int age);

派生class构造函数:

Student(const char *name, int age, const char *sName)
  :Subscriber(name, age) // We call the base class constructor
{
    // Do something with sName.
}
  1. 这取决于您想要实现什么,但通常最好将参数保持为私有。通过这种方式,classes 之间的耦合较少,如果您需要访问基本 class 的参数,您可以使用 getter-setter 方法。