Hola a todos!
Soy nuevo en el foro, me presento, me llamo Dani y soy estudiante de informatica.
Tengo un problema al usar dynamic_cast:
Tengo dos clases (PiezaElectrica y PiezaMecanica) que derivan de una super clase (Pieza), cuando trato de hacer un dynamic_cast para comprobar de que clase derivada es el objeto apuntado por un puntero de la clase base me salta un error :
'abnormal program termination'
Un ejemplo:
void CEstacionTratamiento::TratarPieza(CPieza* p)
{
if(CPiezaElectrica *pe = dynamic_cast<CPiezaElectrica *>(p))
{
cout<<"es una pieza electrica"<<endl;
CubaBarnizado(pe);
}
if(CPiezaMecanica *pe = dynamic_cast<CPiezaMecanica *>(p))
{
cout<<"es una pieza mecanica"<<endl;
}
}
¿Que puede estar pasando?
Gracias de antemano!