In C++, se c'è un overriding, la classe derivata esegue il metodo overriddato...
#include "iostream" using namespace std; class Classe{ public: char * nome; Classe(){} Classe(char * N){ nome=N; } void stampaNome(){ cout << "Nome della classe genitrice: " << nome << endl; getchar(); } }; class Derivata:public Classe{ public: Derivata(){} Derivata(char *N):Classe(N){} void stampaNome(){ cout << "Nome della classe derivata: " << nome << endl; getchar(); } }; void main(){ Classe miaClasse("Io sono la classe base"); Derivata miaDerivata("Io sono la classe derivata"); miaClasse.stampaNome(); miaDerivata.stampaNome(); }
Nome della classe genitrice: Io sono la classe base Nome della classe derivata: Io sono la classe derivataSe io voglio che l'istanza della classe Derivata esegua il metodo della classe genitrice:
..... void main(){ Classe miaClasse("Io sono la classe base"); Derivata miaDerivata("Io sono la classe derivata"); miaClasse.stampaNome(); miaDerivata.stampaNome(); Classe vrb; vrb=miaDerivata; vrb.stampaNome(); }
Nome della classe genitrice: Io sono la classe base Nome della classe derivata: Io sono la classe derivata Nome della classe genitrice: Io sono la classe derivataDevo eguagliare l'istanza della classe derivata a una variabile della classe base.
Nessun commento:
Posta un commento