我有以下困境:
我有一个完整的抽象类。每个继承类都需要 3 个相同的参数。他们每个人都还需要其他特定参数。
我可以:
1) 在我的基类中实现一个用于初始化 3 个公共(public)参数的公共(public)构造函数,但随后我必须为相应的字段(它们是私有(private)的)创建非抽象的 getter。
或
2) 保留我的基类抽象并在继承类中实现构造函数,但是我必须在每个类字段中为公共(public)参数创建它。
哪种方法更好?我不想使用 protected 成员。
最佳答案
抽象类至少有一个纯虚拟(或者,如您所说,抽象)函数。拥有非抽象、非虚函数并不会改变你的类是抽象的这一事实,只要它至少有一个纯虚函数。争取在基类中具有通用功能,即使它是抽象的。
关于C++:在继承链中放置构造函数的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35482946/