Простой ответ: если вам нужно получить доступ к функциональности производного класса из указателя базового класса, у вас возникла проблема проектирования.В принципе, вам не нужно знать.Если вы делаете, что-то не так.Вы должны (в чистом смысле) вызывать виртуальные функции из интерфейса базового класса, и чтобы производные классы реализовали свои переопределения так, чтобы они выполнялись правильно.
Теперь, иногда, практически, вам нужно,Так что есть вероятность уныния.Если у вас есть информация о типе времени выполнения в вашей сборке, вы можете сделать dynamic_cast<type*>
, и если возвращаемый вами указатель не равен нулю, то у вас есть экземпляр этого типа.этот путь, оберните это во что-то опрятное и не позволяйте этому размножаться - это может стать грязным.Я предлагаю вам посмотреть, если нет лучшего способа, используя полиморфизм.
Веселитесь!