Código:
Pero solo elimina el ultimo pero si quiero eliminar el primero o el del medio primero como lo modifico he hecho mil cosas y nada,,,, como eliminar nodos en una lista pero no me funcionaint main(int argc, char *argv[]) { lista<profesor>* L3 = new lista<profesor>(); profesor *p1 = new profesor(123,"Juan de Dios","Alajuela",12,2222222); profesor *p2 = new profesor(124,"Juan ","Herediano",12,2222222); profesor *p3 = new profesor(125,"Jggggggg","S",12,2222222); L3->agregar(*p1); L3->agregar(*p2); L3->agregar(*p3); cout << *L3 << endl; cout <<L3->eliminarXId(125)<<endl; cout <<L3->eliminarXId(124)<<endl; cout << *L3 << endl; //elimina y aparece solo 123,"Juan de Dios","Alajuela",12,2222222 } // y este es el metodo de eliminar template <class T> int lista<T>::eliminarXId(int id){ nodo<T>* temp; iterador<T>* i = obtenerIterador(); T* tmp = i->proximoElemento(); if(tmp->getId()==id){temp=primerNodo;primerNodo = primerNodo->obtenerSiguiente();temp=NULL; return 1;} }
GRACIAS