La traccia era questa:
Si realizzi in linguaggio C++ una classe generica Coda mediante uso del costrutto class del linguaggio C++, e ricorrendo ad una implementazione dinamica. Gli elementi della Coda siano di tipo record così definito
struct Esame {
int codice;
char * descrizione;
};
. Il tipo Coda deve prevedere le seguenti operazioni:
clear() Svuota la coda.
push(const Esame el) Inserisce l’elemento el nella coda
pop(Esame & el) Estrae l’elemento el dalla coda.
top(Esame & el) Copia in el l’elemento di testa della coda.
stampa() Visualizza a video gli elementi contenuti nella coda.
ho implementato alcune funzioni sulla coda tra cui la stampa della coda (coda::stampa())
definisco una coda p1 inserisco gli elementi con un push...scrivo p1.stampa();
e mi da in output quello che ho inserito...e fin qui tutto bene...
poi...
definisco una nuova coda p2:
codice:
coda p2=p1; // copia
p1.clear(); //Pulisce la coda p1
p1.stampa(); //Cerca di stampare p1, ma non può farlo(e funziona bene)
p2.stampa(); //Dovrebbe stamparmi la stessa cosa che stampava //p1.stampa(), ma non lo fa..cioè...mi scrive i nomi degli esami correttamente ma non mi riesce a stampare bene il codice dell'esame!!!
Ad esempio io ho come codice esame 4081 e lui mi fa vedere 0....poi per il secondo esame mi scrive 4007232 per il 3° 4007208 per il 4° 4007184(il numero diminuisce di 24...ogni volta)...e così via...è come se c fosse un problema nella copia...come se copiasse una sorta di indirizzo o di posizione...boh...
Grazie per la pazienza come sempre!