Por ejemplo tengo un código como que¿Es posible dynamic_cast de una clase base a otra?
class Base1
{
virtual void wonderFULL() = 0;
};
class Base2
{
// all this weird members
};
class Derived : public Base1, public Base2
{
// not so weird members
};
int main()
{
Derived Wonder;
magicFunction(&Wonder);
return 0;
}
void magicFunction(Base2 *ptr)
{
if (Base1 *b1 = dynamic_cast<Base1 *>(ptr))
b1->wonderFULL();
}
Sin embargo WONDERFULL nunca se ejecuta debido a la imposibilidad de emitir ptr a B1. ¿Es posible realizar tal conversión?
'-1' para publicar código que tiene un problema que impide la compilación del código en un área que está muy relacionada con el problema. – sbi
Estoy de acuerdo con sbi. Esta muestra debe verse como http://www.ideone.com/dg0gc. 'magicFunction' debe ir antes de que' main', 'wonderFULL' se defina y se publique. – Bill