C++派生类构造函数
C++ Derived class constructors
>假设我有一个代表库订阅者的类。然后,我想创建多个其他派生类,代表不同类型的订阅者,如学生、教授等。
-
如何编写派生类构造函数?在我的基类订阅者中,我有一个构造函数,它采用名称、年龄、ID 号等参数。但是,在我的派生类中,我有额外的参数,例如"schoolName"。我如何为派生类学生设置构造函数,知道我想调用订阅者的基类构造函数,并向学校名称的额外参数添加一个值。
-
还有我的第二个问题。是否最好将共享参数(如年龄,名称等)(基类和派生类共享)保护为私有?这样学生可以轻松访问他的名字,年龄
- 基类构造函数:
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.
}
- 这取决于您想要实现的目标,但通常最好将参数保密。通过这种方式,类之间的耦合更少,如果您需要访问基类的参数,则可以使用 getter-setter 方法。
相关文章:
- 如何委托派生类使用其父构造函数?
- 如果基类包含双指针成员,则派生类的构造函数
- C++:为什么无法在派生类中访问受保护的构造函数?
- C++派生的类构造函数
- 添加自定义析构函数时,Move 构造函数在派生类中消失
- 在没有默认构造函数的情况下创建的派生对象
- 派生类(构造函数具有参数)和基类(构造函数缺少参数)之间没有可行的转换
- 如何在派生构造函数中多次构造基类
- C++(控制台)构造函数和派生类
- 为什么为派生类定义复制构造函数需要定义基类的默认构造函数?
- 在dynamic_pointer_cast后调用派生类的构造函数
- 如何使用函数(而不是构造函数)将派生类对象分配给基类指针
- 将派生类的构造函数声明为父类的友元
- 如何为具有私有成员的派生类实现移动构造函数
- 使用回调函数从构造函数调用虚拟/派生方法的替代方法?
- 在派生自线程类的构造函数中传递字符串
- C++ 为什么要将对基类的引用传递给派生类的构造函数
- C++将派生类的const值传递给基意外行为的构造函数
- 在模板派生类中继承具有类型别名的构造函数
- 正在调用基方法,而不是从构造函数派生方法