Например, предпологается использовать в программе несколько объектов классов полученых наследованием от одного базового. Поноачалу, базовай класс как ему и пологается реализует основные, базовые функции для всех. В классах наследниках добавляються дополнительные возможности. Вроде как будто все верно, и даже соответствует теории о постепенном уточнении характеристик и развитии в иерархии объектов (понятно хоть выразился

?). В программе я должен, нет другой возможности, обращатся к методам объектов через указатель на объект базового типа. И что у меня получается? — по мере добавления методов в классы наследники, мне приходиться возвращаться к базовому классу и добавлять в него абстрактные методы. Бред какой-то.
Это что, недостатки проектирования? Или что-то я непонимаю. Я пока не использую возможности языка для определения типов во время исполнения, не дошел еще — может быть в этом проблема.