Здравствуйте, dotidot, Вы писали:
D>лучше озвучте суть проблемы
На самом деле, хотелось узнать, можно ли как то управлять вызовами виртуальных функций. То есть получается, что уже в момент создания объекта по указателю на базовый класс,
A *a = new C();
мы определяем, какая функция будет вызываться для этого объекта в иерархии классов.
А если вдруг окажется, что мне в какой-то момент понадобился вызов виртуальной функции не подразумевающегося класса, а скажем на шаг выше, или даже на два. Отсюда и возникает вопрос, возможно ли каким-то образом манипулировать указателем, уже после того, как объект создан, и тип его уже известен.
То есть, a->do_it() точно известно, что вызовется витуальная функция текущего типа класса.
Как вызвать для ЭТОГО объекта виртуальную функцию ОПРЕДЕЛЕННОГО класса, причем не меняя при этом никаких данных объекта, не меняя его тип итп?