Tengo una clase A que implementa muchas funciones. La clase A es muy estable.Refactorización de una clase en C++
Ahora tengo un nuevo requisito de función, parte de cuya funcionalidad coincide con la implementada por A. No puedo heredar directamente mi nueva clase de la clase A, ya que eso traería mucha redundancia a mi nueva clase.
Entonces, ¿debería duplicar el código común en ambas clases?
O, ¿debería crear una nueva clase base y mover el código común a la clase base, y derivar la clase A y la nueva clase de ella? Pero esto llevará a cambios en mi clase existente.
Entonces, ¿cuál sería un mejor enfoque?
¿No se copiará la clase para crear aún más redundancias en el código? – mmmmmmmm