Несколько слов о проектировании иерархии классов
Важно отметить, что программисты, создавая классы, создают, по
сути, абстрактную основу - шаблоны для создания объектов. Из шаблона,
когда нужно, создается объект, который и используется. Но, прежде чем
вы напишете хотя бы одну строку программы на С++, необходимо хорошо
продумать необходимые вам классы и уровни их использования.
Не существует "идеальной" иерархии классов для каждой конкретной
программы. По мере продвижения разработки может оказаться, что вам
потребуется ввести новые классы, которые коренным образом изменят всю
иерархию классов. Каждая иерархия классов представляет собой сплав
экспериментальных исследований и интуиции, основанной на практике.
Так, потребовались сотни лет для создания классификации животных, и
тем не менее, вокруг нее, до сих пор, ведутся горячие споры и дела-
ются попытки ее изменения.
Умелое использование наследования позволяет с небольшими усилиями модифицировать огромные по объему программы. К тому же необходимо
помнить, что постоянно растущее число поставщиков предоставляют пользователям объектно-ориентированные библиотеки, совместимые с Турбо и
Borland С++. Так что не следует "высасывать их из пальцев".