Buenas. La cuestión es esta:

Hay la clase padre:

public class ClasePadre {
public:
   virtual void metodo();
}

y hay la clase hijo:

public class ClaseHijo : ClasePadre {
public:
   void metodo();
}

Instancio así:

ClasePadre p;
ClasHijo h;

Luego pongo:

p = h;

y cuando hago...

p.metodo()

no se llama al metodo de hijo;

En cambio cuando hago....

ClasePadre *p;
CalseHijo h;

p = &h;

ahi si funciona.

Que estoy haciendo mal la primera vez? Hay que sobrecargar el operador = de clase Padre? Como se hace?

Gracias por haber leido hasta aca y si me dan una mano mejor. Saludos! Rubén.
_______________________________________________
Lista de correo Programacion.
[email protected]
http://listas.fi.uba.ar/mailman/listinfo/programacion

Responder a