Допустим, у нас есть иерархия классов. Внизу у нас есть Base, а вверху - Derived. Как определить класс объекта, даже если он преобразован в указатель базового класса.
Base* b = new Derived():
typeid(b).name(); // i want this to tell me that this is actually derived not base object
есть ли какой-либо другой способ, кроме ручной реализации строкового поля или такой и виртуальной функции get?
PS: я говорю о независимом от компилятора решении