Hola amigos,
Tengo una clase base de la cual heredan 2: Clasehija1 y Clasehija2, todos los objetos de las clases hijas los quiero tener en una sola lista.
Cómo puedo hacer esto?
Hasta el momento tengo algo parecido a lo siguiente:
Código C++:
Ver originallist <ClaseBase *> lstClaseBase;
ClaseBase *objCasehija1 = new Clasehija1();
ClaseBase *objCasehija2 = new Clasehija2();
Código C++:
Ver originallstClaseBase.pushback(objCasehija1);
lstClaseBase.pushback(objCasehija2);
Pero no sé si lo anterior está correcto, además necesito una función para muestre el contenido de lstClaseBase.
Tengo algo como lo siguiente pero no me funciona:
Código C++:
Ver originalvoid listar(list <ClaseBase *> lst) {
list <ClaseBase *>::iterator it;
for( it = lst.begin(); it != lst.end(); it++ ){
}
}
Y en su invocación tengo esto:
Yo esperaría ver el mensaje "un elemento" pero veo nada.
Lo que pretendo hacer es lo que les planteaba al principio: en una sola lista, guardar diferentes objetos los cuales son heredados de una clase (la lista es del tipo de la clase base).
Ojalá me puedan dar una mano con esto.
Gracias desde ya.
Saludos