Я унаследовал систему C ++, которая была разработана, чтобы быть очень модульной. Таким образом, один класс происходит от другого, происходит от другого и т. Д.
Например, класс C наследуется от класса B, который наследуется от класса A
C <- B <- A </p>
Меня попросили НЕ менять исходные классы. Теперь я хотел бы создать новый класс (например, A2), который получен из A и улучшен для A. Чтобы эта система могла извлечь выгоду из моего A2, должен ли я наследовать от B, чтобы создать новый B2, который использует A2? А затем получить из C, чтобы сделать новый C2, который использует B2?
Можно ли получить новые классы, которые позволят всем другим классам-потомкам получить немедленную выгоду? Мне кажется, что создание A2 создаст эффект домино необходимости создавать новые классы. Много работы, когда ОО должен избегать подобных вещей.
Я подозреваю, что мне не хватает какой-то концепции