我有 4 个类(class),比方说:A 类、B 类、C 类和 D 类。
B 类继承自 A 类。
C类和D类继承自B类。
A 类和 B 类是抽象类。
我想在类 A 中声明一个字段,假设 int position
并通过分配参数值 (int parameterValue
) 添加到该字段。
是否有任何解决方案可以在不在所有后代类的构造函数中复制 position = parameterValue
行的情况下执行此操作?
最佳答案
您可能会使用继承的构造函数:
struct A
{
A(int position) : position(position) {}
virtual ~A() = default;
int position;
};
struct B : public A
{
using A::A;
};
struct C : public B
{
using B::B;
};
struct D : public B
{
using B::B;
};
关于c++ - 无需重复代码的继承,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43341371/