C ++派生类构造函数

时间:2016-02-12 00:45:41

标签: c++ inheritance constructor derived-class

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

  1. 如何编写派生类构造函数?在我的基类Subscriber中,我有一个构造函数,它接受名称,年龄,id号等参数。 但是在我的派生类中,我有额外的参数,例如“schoolName”。如何为派生类设置构造函数Student知道我想要调用Subscriber的基类构造函数,并且还要将值添加到作为schoolName的额外参数。

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

1 个答案:

答案 0 :(得分:0)

  1. 基类构造函数:
  2. 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方法。