Предположим, у нас есть символ BaseClass и три подкласса Good, Bad, Zombie. предположить Также у нас есть два указателяУказатели, указывающие в унаследованных классах
Character* ptr1,ptr2;
, что точка в классе хороший, плохой или зомби. Я хочу, чтобы создать часть кода, как это:
if ((ptr1 "shows" Good)&&(ptr2 "shows" Bad)) {...} else if ((ptr1 "shows" Good)&&(ptr2 "shows" Zombie)) {...} else if ...
и так далее. Как я могу написать такое заявление? Мне трудно понять виртуальные функции, полиморфизм и наследование, но не стесняйтесь объяснять их.
спасибо, заранее.
Вы можете использовать 'dynamic_cast', чтобы проверить, является ли' ptr # 'конвертируемой в любой из производных классов. – 101010
('ptr2' не объявлен как указатель) – LogicStuff