C++派生类构造函数

C++ Derived class constructors

本文关键字:构造函数 派生 C++      更新时间:2023-10-16

>假设我有一个代表库订阅者的类。然后,我想创建多个其他派生类,代表不同类型的订阅者,如学生、教授等。

  1. 如何编写派生类构造函数?在我的基类订阅者中,我有一个构造函数,它采用名称、年龄、ID 号等参数。但是,在我的派生类中,我有额外的参数,例如"schoolName"。我如何为派生类学生设置构造函数,知道我想调用订阅者的基类构造函数,并向学校名称的额外参数添加一个值。

  2. 还有我的第二个问题。是否最好将共享参数(如年龄,名称等)(基类和派生类共享)保护为私有?这样学生可以轻松访问他的名字,年龄

  1. 基类构造函数:

Subscriber(const char *name, int age);

派生类构造函数:

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