Polymorphisme
Classe Employe
Créer une classe abstraite Employe
contenant :
- un nom de type
string
1, - un prénom de type
string
, - un entier correspondant à l’âge.
On définira également les méthodes suivantes :
- un constructeur,
- un destructeur (virtuel),
- une méthode purement virtuelle
CalculerSalaire
, - une méthode virtuelle
GetNom
qui sera redéfinie dans les classes filles.
Dans le programme principal, créer une instance d’Employe
puis générer un
tableau de pointeur d’Employe
appelé Entreprise
.
Branche Commercial
Créer une classe Commercial
qui hérite d’Employe
. Cette classe a un membre
de plus qu’Employe
: un entier ChiffreAffaire
. Dans la mesure où elle
n’explicite pas la méthode CalculerSalaire
, la classe Commercial
est
abstraite.
Créer une classe Vendeur
dérivant de commercial
avec :
- un constructeur,
- un destructeur,
- définir le salaire via la méthode virtuelle
CalculerSalaire
. Par exemple, une base fixe à 1000 euros + 20% duChiffreAffaire
, - redéfinir
GetNom
en mettant en en-tête “Le vendeur :” puis le nom.
Créer une classe Representant
héritant de Commercial
avec :
- un constructeur,
- un destructeur,
- définir le salaire \emph{via} la méthode virtuelle
CalculerSalaire
, - redéfinir
GetNom
en mettant en en-tête “Le représentant :” puis le nom.
Dans le programme principal, remplir le tableau de pointeur d’Employe
par
l’adresse d’un Vendeur
et d’un Representant
.
Notes :
la classe string
fait partie de la librairie standard et facilite la
gestion et la manipulation des chaînes de caractères. Pour pouvoir l’utiliser,
il conviendra d’inclure le fichier d’en-tête string
.