Vous êtes sur la page 1sur 2

Module :Programmation orienté objet en C++ Enseignant : SOUAIDIA

Université Larbi Tebessi Tébessa


Faculté des Sciences et Technologie
Département de Génie Electrique
Master 1 : IE & RT

TP4 : Héritage et polymorphisme

Objectif :
– Mettre en pratique les notions d’héritage.
– Manipuler les classes d´dérivées.

Exercice :

On souhaite d’abord déclarer une classe BIOMETRIQUE qui a les membres


suivants :

1. Nom, Prenom, Couleur_yeux : variables membres de type string.


2. Age, Taille, Poids : variables membres de type int.
3. SET_INFO () : constructeur sans arguments qui initialise les variables
membres avec les valeurs suivantes :

a) Nom = " Lenom "


b) Prenom = "LePrenom"
c) Couleur_yeux = "marron"
d) Age = 23,
e) Taille = 180
f) Poids = 70
4. afficher() : qui affiche les attributs de l’objet.

Toutes les variables membres de la classe BIOMETRIQUE possèdent


l’étiquette private: .

- Déclarer la classe BIOMETRIQUE () et définir ses méthodes.


- Déclarer deux classes Etudiant et Salairie de la classe BIOMETRIQUE.
- Ajouter à la classe Etudiant les variables membres suivantes :
Matricule : variables membres de type int.
Moyenne : variables membres de type float.
- Ajouter à la classe Salairie les variables membres suivantes :
Poste : variables membres de type string.
Salaire : variables membres de type int.

Travail Demandé :

En utilisant le programme précèdent, écrire un programme qui permet d'Ajouter


de 30 étudiants et 20 salariés avec leurs informations.

1
Module :Programmation orienté objet en C++ Enseignant : SOUAIDIA

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
string TO_STRING(float a){
stringstream ss;
string str;
ss << a;
ss >> str;
return str;
}
class BIOMETRIQUE{
protected: // les membres sont accessibles que par les fonctions membres et par la
classe dérivée.
string Nom, Prenom, Couleur_yeux;
int Age,Taille, Poids;
public:
void SET_INFO(string a,string b,string c, int d, int e,int f){
Nom = a;
Prenom = b;
Couleur_yeux = c;
Age = d;
Taille = e;
Poids = f;
}

string Affiche(){
return "_ Nom: " + Nom + "\n_ Prenom: "+ Prenom + "\n_ Couleur des yeux:
" + Couleur_yeux + "\n_ Age: "+ TO_STRING(Age) + "\n_ Taille: "+ TO_STRING(Taille) +
"cm\n_ Poids = "+ TO_STRING(Poids) + " Kg\n" ;
}
};

class Etudiant: public BIOMETRIQUE{


public:
int Matricule;
float Moyenne;
};

class Salarie: public BIOMETRIQUE{


public:
int Salaire;
string Poste;
};

void main(){

BIOMETRIQUE A;
Etudiant B;
Salarie C;

C.SET_INFO("NOM1","Prenom1","Marron",24,185,70);
B.SET_INFO("N_ETD1","P_ETD1","Noir",27,175,65);
B.Matricule = 123456;
B.Moyenne = 13.34;
C.Poste = "Directeur";
C.Salaire = 50000;

cout << B.Affiche() << "_ Matricule: " << B.Matricule<< "\n_ Moynne: " <<
B.Moyenne << endl;
cout << "\n\n";
cout << C.Affiche() << "_ Poste : " << C.Poste << "\n_ Le Salaire: " <<
C.Salaire << endl;
system("pause>0");
}

Vous aimerez peut-être aussi