Если я хочу использовать наследование, чтобы избежать повторения метода 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
. Какова лучшая практика для таких ситуаций?