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