Как в C++ преобразовать объект базового класса в наследуемый?

Допустим, я имею базовый класс и несколько наследуемых от него (Первое выделение на рисунке). Также у меня есть массив указателей на базовый класс, содержащий наследуемые от него классы (Второе выделение на рисунке).

Приложение 1

Я знаю, под каким индексом находится нужный мне элемент и его тип, и хочу получить/назначить значение переменной характерной для этого класса. В C# с этим бы не было проблем, но тут я упираюсь в то, что не знаю, как преобразовать полученный объект базового класса в наследуемый.

(Извиняюсь, если плохо объяснил свою проблему. Ещё один краткий пример: есть объект предмета, от него наследуется объект оружия и объект еды с дополнительными параметрами. В инвентаре(массиве указателей на предмет) хранятся меч и яблоко. Как мне получить параметры меча, если я знаю, что выбранной ячейке инвентаря меч?)


Ответы (0 шт):