, y pes me puse a hacer uno para agregar elementos a la lista... y pes creo(avisen si ta mal) que lo hice bien, pero al momento de eliminar la memoria reservada, algo me dice que meti la pata
, aca esta el code para quien me pueda ayudar, diciendome cuales tantas cosas estan mal y como debo arreglarlo:Código
#include <iostream>El problema (aparte de la eliminacion de memoria, que pos cierto se que se debe hacer con un destructor xD pero pes emepece asi luego veo como hacerlo tipo destructor) es que pareciera que mostrar() nunca se ejecuta... De antemano gracias a quien me ayude...
using namespace std;
class lista{
int num;
lista *sgt;
public:
lista():num(0),sgt(NULL){};
void x(lista*,int);
void elim(lista*);
void mostrar(lista*);
};
void lista::x(lista *ptr, int n){
if (!ptr){
ptr=new lista;
ptr->num=n;
ptr->sgt=NULL;
}
else x(ptr->sgt,n);
}
void lista::elim(lista *ptr){
if (!ptr->sgt) delete ptr;
else elim(ptr->sgt);
}
void lista::mostrar(lista *ptr){
if (ptr){
cout<<ptr->num<<", ";
mostrar(ptr->sgt);}
}
int main()
{
lista *ejelista;
int n;
char op;
while (op!='s'){
cout<<"ingresa el valor a agregar en la lista: ";
cin>>n;
ejelista->x(ejelista,n);
cout<<endl;
ejelista->mostrar(ejelista);
cout<<"Si deseas agregar otro numero a la lista"
<<"marca cualquier tecla que no sea la s";
cin>>op;
}
while (ejelista){
ejelista->elim(ejelista);
}
cin.get();
return EXIT_SUCCESS;
}











Autor


En línea



.
este temita no me ta gustando
entiendo el ejemplo de la pag que me diste, aunque veo que crean muchos punteros auxiliares.. pero lo que no entiendo es porque mi code no funciona 
lesto... sip era eso jeje gracias por la ayuda, espero no tener que meterme mas con listas por un buen rato
