我有4个类(class),可以说:A级,B级,C级和D级。
我想在A类中声明一个字段,说
int posision
,并通过向该字段分配参数(int parameterValue
)的值在C类和D类的构造函数中定义此字段。有没有解决方案,而无需在后代类的所有构造函数中重复
position = parameterValue
行? 最佳答案
将其放在类B中,并在后代类的开头调用 super 构造函数。像这样:
class A {
protected:
int position;
};
class B: public A {
public:
B(int parameterValue) : A() {
position = parameterValue;
}
};
class C: public B {
public:
C(int parameterValue) : B(parameterValue) {
}
};
关于c++ - 继承而不复制代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43341371/