ciao,
ho una gerarchia del tipo
class A{
public:
bla bla...
}
class C{
public:
virtual ~C(){},
virtual void foo()=0;
}
class B: public class A, public class C{
public:
virtual void foo(){
//bla blaa...
}
}
in un metodo della mia applicazione ricevo un puntatore A* che però punta ad una istanza di B, che io però vorrei chiamare castandolo a C (Esistono varie classi che implementano C)
quindi ho:
.....
A* a;
......assegnamento di a......
C* c = (C*)a;
c->foo(); //dà luogo a chiamate inconsistenti...
cosa sbaglio? In java (mondo da cui provengose C fosse un'interfaccia, sarebbe tutto perfettamente lecito..)
grazie!