Ver Mensaje Individual
  #1  
Antiguo 15-12-2006
eljose eljose is offline
Miembro
 
Registrado: oct 2006
Posts: 12
Reputación: 0
eljose Va por buen camino
Herencia y polimorfismo dentro de un vector

Hola, estoy con c++ builder intentando hacer un vector de la librería STL que contenga objetos de la classe TSimbolo (una clase mía). Esta clase es padre de otras que heredan de ella. En realidad el vector será de las subclases, aunque lógicamente lo tengo que inicializar como TSimbolo para que pueda contenerlas a todas.
Una de esas clases es TNota, que redefine un método virtual de TSimbolo llamado lista(). Este código funciona:

TNota * aux = new TNota();
TSimbolo * s = aux;
s->lista();

En este caso la función que se ejecuta es la de la clase TNota.

Sin embargo Este código:
(en .h): std::vector <TSimbolo> P;


TNota * aux = new TNota();
P.push_back(*aux);
P[0].lista();

En este caso ejecuta la función de TSimbolo, no la de TNota que es lo que quiero.
¿Alguna idea?
Responder Con Cita