Vous êtes sur la page 1sur 1

Programmation Oriente Objet

Test d'valuation

On suppose que l'on dispose de la classe Animal ainsi dfinie :

class Animal
{
protected:
string nom ;
bool espece_rare ;
public:
Animal(string ch, bool erare) {nom = ch; espece_rare = erare ; cout << "Un animal est n \n" ; }
Animal() { nom = "chien" ; espece_rare = false ; }
~Animal(){ cout << "Un animal est mort \n" ;}
void presenter() ;
};

1. Implmenter la fonction presenter qui afffiche le nom de l'animal et indique s'il appartient ou
non une espce rare.
L'affichage doit prendre cette forme : L'animal s'appelle nom et appartient une espce rare ou
alors L'animal s'appelle nom et n'appartient pas une espce rare .
2. Dclarer maintenant la classe Vivipare qui hrite de la classe Animal et y ajoute l'attribut
entier gestation qui correspond au nombre de mois de gestation pour cette espce.
3. Dclarer et dfinir un constructeur paramtrique, un destructeur pour la classe Vivipare.
Dans le constructeur et le destructeur on rajoutera respectivement les messages Un
Vivipare est n Un Vivipare est mort .
4. Dclarer maintenant la classe Ovipare qui hrite de la classe Animal et y ajoute l'attribut
entier nb_oeufs qui correspond au nombre d'oeufs moyen pour cette espce.
5. Dclarer et dfinir un constructeur paramtrique, un destructeur pour la classe Ovipare.
Dans le constructeur et le destructeur on rajoutera respectivement les messages Un
Ovipare est n Un Ovipare est mort .
6. Dans la fonction main, dclarer de manire statique un objet poule de type Ovipare. Donner
le rsultat de l'excution de ce programme.
7. Dans la fonction main, dclarer de manire dynamique un objet vache de type Vivipare.
Donner le rsultat de l'excution de ce programme.
8. On suppose que l'objet vache appelle la fonction presenter. Que verrons nous l'cran.
9. Donner le diagramme UML correspondant ces 3 classes.
10. On suppose que l'on veut crer un autre classe Ovovivipare qui hrite de Vivipare et
Ovipare. Comment utilise-t-on le mot virtual pour viter la duplication des donnes au
niveau d'un objet de type Ovovivipare.

Vous aimerez peut-être aussi