如果我想使用继承来避免重复common_method
下面的方法
int A::different_method()
{ return 1; }
int A::common_method()
{ return this->different_method()+1; }
int B::different_method()
{ return 2; }
int B::common_method()
{ return this->different_method()+1; }
最好的方法是什么?
一种方法是使用新方法从基类进行构造A
和B
继承C
:
int A::different_method()
{ return 1; }
int B::different_method()
{ return 2; }
int C::different_method()
{ return 0; }
int C::common_method()
{ return this->different_method()+1; }
但是我也必须定义无用的东西有点烦人C::different_method
。在这种情况下的最佳做法是什么?
身高
override
超过virtual
指示覆盖的方法。在这种情况下,编译器可能会帮助发现“ typos”。@ Jarod42谢谢。感谢您的建议。我将更新我的答案。