Ho visto che usi in CodaFifo nella funzione Inserisci, come parametro, un oggetto piuttosto che il suo puntatore ... e forse usi questo modo di passare gli oggetti un po' in generale, ma non e' corretto.
Dovrebbe essere
l.inserisci(&n1);
e quindi
void CodaFifo::inserisci(Nodo *n)
in cui n deve essere trattato come puntatore all'oggetto.
Se usi passare gli oggetti, viene fatta una copia dell'oggetto originale in un altro oggetto dal C++, copia che viene usata all'interno della funzione e poi distrutta con il richiamo del distruttore prima dell'uscita. Questo fatto ti fa credere che stai operando con gli oggetti dichiarati nel main ed invece non e' cosi'.
O anche, e forse meglio, passa i parametri per reference.
Cosi' che lasci
l.inserisci(n1);
e scrivi
void CodaFifo::inserisci(Nodo& n)
Attento pero' ... la cosa non si deve limitare a CodaFifo ma anche alle altre classi in cui i parametri "oggetti" devono essere passati per puntatore o riferimento (vedi il costruttore di Cella ...)

Rispondi quotando