LINUX.ORG.RU

История изменений

Исправление cvv, (текущая версия) :

Вопрос в том, зачем класс С наследует der1 и der2. Можно попробовать один из них сделать членом класса, все публичные методы этого класса продублировать в C и пробросить их в член класса. Не помню, как такой трюк называется, но судя по всему, именно его и следует здесь применить.

класс base определяет API. множество его потомков делятся на три группы: группа A имеет общую реализацию половины методов базового класса, группа B имеет общую реализацию другой половины методов базового класса, а третья группа имеет реализацию состоящую из общих частей группы А и группы B. Поэтому общую часть реализации методов для группы A я сделал в классе der1, для группы B в классе der2 а как быть с группой C я никак не могу определится.

Исходная версия cvv, :

Вопрос в том, зачем класс С наследует der1 и der2. Можно попробовать один из них сделать членом класса, все публичные методы этого класса продублировать в C и пробросить их в член класса. Не помню, как такой трюк называется, но судя по всему, именно его и следует здесь применить.

класс base определяет API. множество его потомков делятся на три группы: группа A имеет общую реализацию половины методов базового класса, группа B имеет общую реализацию другой половины методов базового класса, а третья группа имеет реализацию состоящую из общих частей группы А и группы B.