Ciao a tutti, ho una sitauzione del genere: 2 classi: persona e professore, ognuna in relazione "has a"con la classe esame.
Ho 2 aggiungi esame (si chiamano uguali ma compiono operazioni diverse).codice:#include <iostream> using namespace std; class esame { int voto; public: virtual void aggiungi_esame () = 0; //questa funzione ha corpi diversi per studente e per professore }; class persona{ protected: char nome[10]; public: virtual void registrati () = 0; }; class studente:public persona { int matricola; esame *E; public: void registrati () {cout<<"registro studente"; } }; class professore:public persona{ char facolta[10]; esame *E; public: void registrati () {cout<<"registro professore"; } }; int main (){ char professione; persona *ptr; cout<<"inserisci professione: "; cin>>professione; if (professione=='p'){ ptr = new professore; } else{ ptr = new studente; } /* Ho 2 aggiungi esame (si chiamano uguali ma compiono operazioni diverse) E' POSSIBILE fare un polimorfismo a run time in modo da chiamare solo una volta la aggiungi_esame di studente o di professore a seconda del valore di ptr? (dato che in questo momento del programma saprò sempre se e' u professore o uno studente) ad ES: ptr->aggiungi_esame() ? */ return 0; }
E' POSSIBILE fare un polimorfismo a run time in modo da chiamare solo una volta la aggiungi_esame di studente o di professore a seconda del valore di ptr?
ad ES: ptr->aggiungi_esame() ?

Rispondi quotando
... l'importante e' avere una persona che partorisce un prof e uno studente. E poi avere una classe esame in relazione: studente e professore "has a" esame
