C++:在继承链中放置构造函数的位置?

标签 c++ inheritance constructor

我有以下困境:

我有一个完整的抽象类。每个继承类都需要 3 个相同的参数。他们每个人都还需要其他特定参数。

我可以:

1) 在我的基类中实现一个用于初始化 3 个公共(public)参数的公共(public)构造函数,但随后我必须为相应的字段(它们是私有(private)的)创建非抽象的 getter。

2) 保留我的基类抽象并在继承类中实现构造函数,但是我必须在每个类字段中为公共(public)参数创建它。

哪种方法更好?我不想使用 protected 成员。

最佳答案

抽象类至少有一个纯虚拟(或者,如您所说,抽象)函数。拥有非抽象、非虚函数并不会改变你的类是抽象的这一事实,只要它至少有一个纯虚函数。争取在基类中具有通用功能,即使它是抽象的。

关于C++:在继承链中放置构造函数的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35482946/

相关文章:

c++ - 如何更改控制台字体大小

c++ - insert_or_assign 允许迭代器

java - 编译器看不到main方法

c# - 如果派生类的 "reference"超出范围但基类引用保留,派生对象是否会发生变化?

java - 方法链 + 继承不能很好地结合在一起?

c++ - 为构造函数类中给定的参数分配内存

java - 在Java中构造函数之前初始化最终变量

c++ - 指向类中多维数组的指针

c++ - 我似乎无法修复的意外错误

c++ - 这是未定义的行为还是误报警告?