Ciao MItaly,
Quote Originariamente inviata da MItaly Visualizza il messaggio
In altre parole: il punto dell'usare i template in questo caso è scrivere un contenitore che possa funzionare con qualunque tipo, senza rimanere legati a Persona o Contatto o quello che vuoi. Poi nel main o dove vuoi scriverai LinkedList<Contatto>, e ci potrai inserire dentro oggetti di tipo Contatto, che costituiranno la tua rubrica.
ok, credo di aver capito l'errore concettuale che ho fatto...

Quote Originariamente inviata da MItaly Visualizza il messaggio
Poi: la classe LinkedList ha un'interfaccia che non ha senso. Come può essere che aggiungi ed elimina siano funzioni che non prendono alcun argomento? Da dove pescano l'elemento da aggiungere/eliminare? Un'interfaccia più sensata sarebbe del tipo:
codice:
void aggiungi(T elemento);
void elimina(T elemento); // su questo ci sarebbe da discutere, comunque...
Anche sulla classe Persona, non capisco perché hai i metodi add_nome e compagnia: o lasci i membri pubblici (e da fuori ci scrivi dentro quel che ti pare), oppure metti i membri privati e scrivi i metodi getter e setter (string get_nome()/void set_nome(string nome)). Dei metodi come add_nome (che peraltro non riceve alcun parametro? ) per una struttura contenente un numero fissato di record non hanno senso.
non passavo alcun parametro perchè poi all'interno della funzione scrivevo delle cout e cin che mi chiedevano i valori, però collegandomi a quanto dicevi prima, non è corretto fare così perchè il template non sarebbe più generico, giusto!?

Credo che mi sono confusa le idee nel momento in cui mi è stato detto di creare una nuova classe Contatto da utilizzare nel template ListaContatto, non so più chi deve fare cosa. O meglio, immagino che le operazioni di aggiunta rimozione e stampa debba essere fatta dal template, ma a questo punto a cosa mi serve la classe Contatto!?

Scusa se sono un po' recidiva!!! ci sto provando...