Ciao a tutti ragazzi, sto facendo un esercizio e ho un problema che da solo non riesco proprio a risolvere:
Il programma consiste in una lista (che per ora è vuota) di classi "impiegato" dentro a cui sostanzialmente c'è string nome e cognome e i vari metodi per accedervi.
codice:
class impiegato {
private:
string nome;
string cognome;
int anno;
impiegato* next;
impiegato* prec;
Ora io voglio crearne una nuova con questo comando:
codice:
impiegato* dumbass;
dumbass = new impiegato;
Se lo faccio nel main funziona perfettamente
(PS: new non so cosa faccia di preciso, credo allochi dello spazio ma non so bene le dinamiche)
Se invece lo eseguo in un metodo di un'altra classe "ListaOrdinata" la quale serve a gestire la lista tramite i suoi metodi il programma si termina una volta raggiunta quella riga
Eccovi il punto in cui si ferma
codice:
void insert() {
string nome, cognome;
int anno;
impiegato* next;
impiegato* prec;
next = NULL;
prec = NULL;
cout << "Nome: ";
cin >> nome;
cout << "Cognome: ";
cin >> cognome;
cout << "Anno: ";
cin >> anno;
impiegato* nuovo;
nuovo = new impiegato;
Arrivati a questo punto NON SO PER QUALE DANNATO MOTIVO l'effetto è questo
Nome: Pinco
Cognome: Pallino
Anno:1990
Nome:
e si termina da solo
forse che non posso usare new in questo spot? Grazie a tutti per l'attenzione