Consulta de código en C++ para implementar una lista

Hola
Estoy haciendo una lista con la liberia list.c . He hecho una clase de tipo Ficha . La lista es de punteros a ficha :
list<Ficha*> Lista;
El caso es que inserto fichas, borro fichas y recorro la lista sin ningún problema, pero no soy capaz a mostrar las varialbes del obeto lista .
Recorro la lista con un iterador :
iterator itr;
me pongo al principio de la lista :
iterator=Lista.begin();
Muestro la primera ficha :
cout<<*str; <- asi es komo dicen ke hay ke hacer para mostrar un elemento de la lista .
El caso es que me muestra una dirección de memoria, y no se como acceder al objeto para mostrarlo yo .
Si alguien ha manejado alguna vez esta liberia agradecería mucho su ayuda ...
Estoy desesperado ...
Gracias ...

1 Respuesta

Respuesta
1
Estas son las sentencias que me has puesto :
list<Ficha*> Lista;
iterator itr;
iterator=Lista.begin();
cout<<*str;
Si itr es un iterador, la asignacion sera:
itr= Lista.begin();
Mas que nada porque la variable es itr.
Pero me faltan muchos datos que no me has puesto.
Para mostrar el contenido de un iterador tienes que poner :
for (itr=lista.begin();itr<=lista.end();itr++)
{
string str=(*itr)->Miembro_queLedefinas a la clase();
cout<<str.c_str();
}
Y con eso creo que debería salir. Pero no recuerdo muy bien como eran los iteradores dado que no suelo usarlos.
Un saludo. De todos modos, si no te sirve házmelo saber y intentare rebuscar en mis viejos apuntes.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas