Documente Academic
Documente Profesional
Documente Cultură
class IdClasaDerivata : IdClasaBaza{ b.idMetodaV(); //va apela metoda definită în clasa IdClasaBaza
tip idMetodaV(lista_parametri);
};
Exemplu Avantaje
sunet() devine virtuală
class Animal {
protected:
char nume[100];
for(int i = 0; i < 3; i++) {
cout<<animale[i]->getNume()<< ":"; n Putem trata colecții de obiecte ale aceleiași
public: cout<<animale[i]->sunet()<< endl;
Animal(char *nume);
virtual char* sunet();
} ierarhii într-o manieră unitară deoarece funcţia
};
char* getNume(); }
apelată virtual este identificată la rulare cu
void main(){
Animal* animale[] = {
Output:
Felix: Miau!
funcţia membră din clasa căreia îi aparţine
new Pisica("Felix"),
new Caine("Azorel"),
Azorel: Ham!
Tom: Miau!
obiectul
new Pisica("Tom")
}; n Putem asigura independența implementărilor
};
void print(); FiguraGeometrica *f[]={new Cerc(Punct(0,0),1),
new Dreptunghi(Punct(0,1),Punct(2,0))};
n Imlementați o ierarhie de clase care reprezintă
Dreptunghi::Dreptunghi(Punct c_s_s, Punct
for(int i=0;i<2;i++){
f[i]->print(); articolele dintr-o bibliotecă.
c_d_j): colt_s_s(c_s_s), colt_d_j(c_d_j){ cout<<"Perimetrul="<<f[i]->
} getPerimetrul()<<endl;
float Dreptunghi::getPerimetrul() { }
return 2*(colt_d_j.getX()- }
colt_s_s.getX())+2*(colt_s_s.getY()-
colt_d_j.getY());
}