Здравствуйте, antonlavreev, Вы писали:
A>К примеру, есть некий класс B, который хранит некие идентификаторы — контейнер с числами. Далее требуется сделать так, чтобы он хранил контейнер с идентификаторами + каждому идентификатору ставился в соответствие еще один атрибут At. Происходит наследование от B. Далее другой атрибут At2 — еще раз наследование от B. Уже выглядит странновато. А затем выясняется, что нужен такой объект у которого был бы и идентификатор, и At, и At2... И лучше бы обойтись без виртуального наследования...Т.е. на каждый дополнительный атрибут(ы) будут создаваться классы-наследники...
имхо наследование нужно, когда нужно добавить/изменить поведение объекта, а не хранимые данные..
если только данные, то рефакторинг в сторону большей гибкости..