Salve,
ho un problema relativo alla ridefinizione dell'operatore <<.La classe Segreteria ha come attributo privato un vettore di puntatori a Docente. Durante l'esecuzione del programma piuttosto che visualizzare i dati relativi al docente, visualizza un indirizzo.
codice:ostream& operator<<(ostream& out,const Docente &d){ out << d.nome << " "<< d.cognome; return out; }Implementazione metodo addDocente():codice:#ifndef SEGRETERIA_H #define SEGRETERIA_H #include"Docente.h" #include"Studente.h" #include"Materia.h" #include"Verbale.h" class Segreteria{ public: Segreteria(); ~Segreteria(); void addDocente(); void addStudente(); void addMateria(); void loadVerbale(); private: Docente* doc[30]; Studente* stu[300]; Materia* mat[30]; Verbale* ver[50]; }; #endif
output:codice:void Segreteria :: addDocente(){ string n,c; cout << "Inserisci nome e cognome docente: "; cin >> n >> c; for(int i = 0; i < 30; i++) if(doc[i]==0){ doc[i] = new Docente(n,c); cout << (*doc[i]); return; } }
1)Aggiungi docente
2)Aggiungi studente
3)Aggiungi materia
4)Caricamento nuovo verbale
0) Esci
1
Inserisci nome e cognome del docente: a b
0x103d070
1)Aggiungi docente
2)Aggiungi studente
3)Aggiungi materia
4)Caricamento nuovo verbale
0) Esci
Avete qualche dritta sulla possibile risoluzione di questo errore?

Rispondi quotando