Абстрактные классы
У меня есть абстрактный класс GeometryObjects и три класса наследника Point (точка), Line (2 точки), Polyline (список точек). Я создал список геометрических объектов:
list<GeometryObjects*> *a = new list<GeometryObjects*>;
А затем добавил в него определённым образом объекты типа Point, Line, Polyline. Сейчас мне необходимо получить доступ к некоторым полям объектов дочерних классов.
list<GeometryObjects*> *ls;
GeometryObjects* myGObj;
list<GeometryObjects*>::iterator it = ls->begin();
advance(it, index);
myGObj = *it;
Но у myGObj я могу вызывать только методы, описанные в абстрактном классе. Может, возможно как-то преобразовать GeometryObjects* в Point/Line/Polyline?