|
Даествительно мутно написано.
Зачем делать прослойку, если контейнер содержит только вектор?
просто создаешь где надо
vector <Figure*> contaniner;
contaniner.push_back(new Line());
contaniner.push_back(new Circle());
...
contaniner.push_back(new Cube());
При этом абстаркатный класс Figure должен содержасть виртуальные методы, которые будут переопределны у потомков. И тогда конструкция типа
contaniner[10]->Drow();
будет замечательно работать.
Если есть какие-то специфичные методы, которые присущи только некоторым потомкам Figure, то можно заветси метод IsKindOf(), который будет говорить о том что это за потомок, после чего можно безболезненно приводить указтель к типу указателя на нужного потомка и работать.
__________________
Дураки не динозавры - они не вымрут...
|