Per esempio Ho codice come quelloÈ possibile dynamic_cast da una classe base all'altra?
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();
}
Tuttavia Wonderfull non viene mai eseguito a causa di impossibilità di lanciare ptr a b1. È possibile eseguire una simile conversione?
'-1' per il codice di pubblicazione che presenta un problema che impedisce la compilazione del codice in un'area strettamente correlata al problema. – sbi
Sono d'accordo con sbi. Questo esempio dovrebbe apparire come http://www.ideone.com/dg0gc. 'magicFunction' dovrebbe andare prima di' main', 'wonderFULL' dovrebbe essere definito e pubblico. – Bill