codice:
/* Definiamo una struct di tipo persona con un campo nome
e un puntatore alla struct stessa */
struct persona{
string nome;
persona* succ;
};
typedef persona* pointer; //Defiamo un tipo puntatore a persona
Coda::Coda(const Coda& c) {
pointer q = l.coda; //Creiamo un puntatore d'appoggio
if (q!=0){ //Testiamo se la lista da copiare è vuota
coda = new persona; //Allochiamo una nuova struct
coda->nome=q->nome; //Copiamo i campi
testa=coda; //Inizializziamo il puntatore di testa
q=q->succ; //Avanziamo col punt. nella coda da copiare
while(q!=0){ //Cicliamo fino a che non termina la coda
testa->succ = new persona; //Accodiamo nuove struct
testa = testa->succ;
testa->nome = q->nome;
q=q->succ;
}
testa->succ=0; //Poniamo il campo succ dell'ultima struct a zero
}
else cout<<"Lista Vuota";
}
Spero così vada bene.
P.S. Sì