Добрый день!
Есть базовый класс и n-ное количество производных. Базовый класс - абстрактный (но это не важно), при этом предоставляет не виртуальную функцию.
class Base()
{
...
void f();
...
}
class Der1(): public Base
{ ... }
class Der2(): public Base
{ ... }
Взаимодействие с производными классами происходит через указатель на базовый класс:
Base* base = new Der1;
base->f();
При таком раскладе, есть ли какой-то способ отловить, какой базовый класс (желательно имя класса в строковом виде) вызвал функцию f()?