Если вы уверены в конкретном типе вашего класса, вы можете использовать dynamic_cast.Во всяком случае, это плохая практика.Цель использования ссылки на базовый абстрактный класс - скрыть внутренние детали и конкретные проблемы реализации.
Если вам нужно сделать это, возможно, вы можете добавить метод getProperty () / setProperty () в ваш базовый класс.Что-то вроде:
class Base
{
public:
virtual void memfunc() = 0;
virtual void setProperty(String name, Property prop);
virtual Property getProperty(String name);
};