Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/11/2012, 13:08
ShotoReaper
 
Fecha de Ingreso: septiembre-2012
Mensajes: 38
Antigüedad: 12 años, 3 meses
Puntos: 0
Como hacer que typeid retorne el tipo del objeto 'hijo'

Buenas!
Tengo la clase "Component" con una variable
Código:
std::string
llamada 'name' cuyo valor se pone a traves de una función como
Código:
typeid(this).name()
. El problema es que cuando una clase hereda de esa ( por ejemplo
Código:
 class Cube : public Component
) el typeid sigue siendo Component y por tanto el name de esta. Si quisiera que el name del Cube fuese 'Cube', pero desde la función del Component...¿Como podría hacerlo?

Para los que se hayan liado os dejo el codigo:

Component

Código:
std::string name;

Component::Component()
{
   generateUniqueName();
}    

void generateUniqueName(void)
{
  name = typeid(this).name();
}
}