Grazie della risposta!!!posto il codice della classe Amministratore e della classe Iscritto è un pò lunghetto spero che non ci siano problemi per questo!
codice:#ifndef AMMINISTRATORE_H #define AMMINISTRATORE_H #include <string> using std::string; #include "persona.h" class Amministratore : public Persona { public: //nome, cognome, età, ID, username, password Amministratore(string = "", string = "", int = 18, int = 0, string = "", string = ""); void setUser(string); void setPass(string); string getUser(); string getPass(); int getID(); virtual void stampa(); //funzione virtuale pura ridefinita per rendere la classe concreta //in questo caso l'amministratore non ha mensile da pagare quindi viene semplicemente visualizzato un messaggio! virtual void setPagamentoMensile(int); private: //dati membro ereditati //char nome[21]; //char cognome[31]; //int età; //dati membro specifici della classe int ID; //(per l'amministratore e' sempre 0) char user[21]; char pass[11]; }; #endif CLASSE ISCRITTO #ifndef ISCRITTO_H #define ISCRITTO_H #include <iostream> #include <string> #include "data.h" #include "persona.h" class Iscritto : public Persona { public: //nome, cognome, età, ID, giorno,mese,anno, corso, pagamento mensile, username, password Iscritto(string = "", string = "", int = 18, int = 1, int = 0, int = 0, int = 0, int = 1, float = 0, string = "", string = ""); //viene impostato tutto a zero per default //le funzioni set e get per impostare e restituire i dati membro ereditati, sono state ereditate Data getDataIscrizione(); int getCorso(); float getPagamentoMensile(); int getID(); string getUser(); string getPass(); void setDataIscrizione(int, int, int); void setCorso(int); void setUser(string); void setPass(string); void setID(int); //funzione virtuale non pura che verrà riscritta virtual void stampa(); //funzione virtuale pura che DEVE essere ridefinita per rendere la classe concreta virtual void setPagamentoMensile(int); private: //dati membro ereditati //char nome[21]; //char cognome[31]; //int età; //dati membro specifici della classe Data dataIscrizione; int corso; int ID; float pagamentoMensile; char user[21]; char pass[11]; }; #endif //funzione virtuale stampa riscritta di Amministratore void Amministratore::stampa() { cout << "\n"; cout << "** riepilogo dati dell'amministratore: \n"; Persona::stampa(); //riutilizzo della funzione stampa della classe base cout << "\n** la tua username e': " << getUser(); cout << "\n** la tua password e': " << getPass(); cout << "\n"; } //funzione virtuale stampa riscritta di Iscritto void Iscritto::stampa() { cout << "\n"; cout << "** riepilogo dati iscritto numero: " << getID(); Persona::stampa(); //riutilizzo della funzione stampa della classe base cout << "\n** data iscrizione: " << getDataIscrizione(); cout << "\n** sei iscritto al corso con ID: " << getCorso(); cout << "\n** pagamento mensile: " << getPagamentoMensile(); cout << "\n** username: " << getUser(); cout << "\n** password: " << getPass(); cout << "\n"; } //funzione virtuale non pura nella classe base void Persona::stampa() { cout << "\n** nome e cognome: " << getNome() << ' ' << getCognome() << "\n** eta': " << getEtà(); }

Rispondi quotando