Compilation, pointeur & références Spécificités du C++ Classes en C++ Fraction de nombres complexes Constructeur & destructeurs Surcharge d'opérateur Polymorphisme & classe abstraite Jeu du blackjack
Retour menu principal

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% du ChiffreAffaire,
  • 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 :

1

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.