Académique Documents
Professionnel Documents
Culture Documents
Héritage et Polymorphisme
Exercice 1 :
1. Créer une classe de base Article. Un article possède deux champs privés:
Nom : string
Prix : double
Et les opérations :
GetPrix() : pour retourner le prix de l'article
SetPrix(double) : pour changer le prix de l'article
Afficher() : permet d’afficher le prix.
2. Réaliser ensuite une classe ArticleEnSolde, dérivée de la classe Article. Cette sous-classe
comprend une information additionnelle:
Remise : attribut défini le pourcentage de réduction sur le prix d'origine
SetRemise(entier) pour changer la remise
La classe va redéfinir la méthode GetPrix(), afin de tenir compte du solde.
Elle va également redéfinir la méthode Afficher(), afin que l'affichage donne également le
pourcentage de remise sur le prix d'origine.
Exercice 2 :
Au sein d’une banque, chaque adhérent pourra avoir un compte bancaire qui peut être un compte
épargne ou un compte courant. La classe compte bancaire comporte les données membres
protégées suivantes : numéro du compte (type long) et le solde (type double) et les opérations
publiques suivantes :
Ajouter() : ajout de l’argent dans le compte
Retirer() : retirer de l’argent à partir d’un compte
Afficher() : afficher les caractéristiques d’un compte
Les classes CompteEpargne et CompteCourant héritent de la classe Compte. Au sein d’un
compte épargne, la valeur minimale du solde est 5 dinars et contient un taux d'intérêt annuel et
une fonction permettant de calculer l'intérêt annuel, alors que pour un compte courant son solde
est limité à un seuil min égale a -500 D.
Définir les trois classes et tester par la suite ces fonctions dans un programme principal.
Exercice 3 :
Le directeur d’une entreprise souhaite gérer les salaires de ses employés. Un employé peut être
un développeur ou un manager.
La classe Employe comporte les membres suivantes : nom (type string), prénom (type
string), adresse_email (type string), téléphone (type string) et le salaire (type double) et la
méthode virtuelle pure claulerSalaire().
Les classes Developpeur et Manager héritent de la classe Employe. et comportent les
informations additionnelles suivantes :
spécialité : attribut qui défini la spécialité
Affiche() : afficher les caractéristiques d’un développeur / manager
Redéfinir la méthode calculerSalaire()
Sachant que :
o Le développeur aura une augmentation de 20% par rapport à son salaire normal
o Le manager aura une augmentation de 35% par rapport à son salaire normal