Aclaro por las dudas. Lo que estamos buscando es que el ejercicio lo hagan con polimorfismo y herencia. Ud. no tuvieron la clase de Templates con l oque no podemos pedirles eso y en principio recomendamos que no lo usen para no confundirlos/perder tiempo/confundir al resto de los compañeros.
Respecto de lo que hablan en los mails:
-NO usen protected para atributos. Es una mala práctica que impide modificar libremente la implementación interna de la clase. Les dejo un link [1] sobre principios que es bastante bueno. Básicamente, si querés modificar la clase base y esta tiene atributos protected, jamás vas a poder. sacar/modificar el uso de esos atributos. Cuando necesites acceso hacia arriba se escribe un getter ya sea público o protected. (si quieren discutir sobre esto hablamos en otro thread)
-NO usen friend a menos que sea altamente necesario (al escribir el operator<< se acepta ese uso pero incluso con clases muy acopladas como Lista y Nodo está discutido el tema). Si usan FRIEND recuerden que están violando el principio de ocultar la implementación del objeto.
-Las listas se pueden resolver sin templates si no los entienden y hacer que siempre almacenen una clase base de todas las enteidades. Algo similar a lo que se hacía con el ArrayList en J2SE o en .Net antes de templates:
ClaseEspecifica objetoEspecifico;
ClaseBase& referenciaNoEspecifica = objetoEspecifico;
ArrayList lista;
lista.add(referenciaNoEspecifica);
ClaseEspecifica* punteroEspecifico = (ClaseEspecifica*)lista.get(0);
Creo que esto deberìa funcionar.
Saludos.
Pablo.
los errores de compliacion los solucione declarando como friend tambien a ListaSimpleOrdenada dentro de la clase NodoLS. Esta bien esto?