1
TD4: Héritge
1
Exercice: Forme
— Définir les classes Rectangle et Carré:
— Corriger le programme suivant:
#include <iostream.h>
int main()
{
Rectangle R;
Carre c1,c2(13.0,14.0);
R.Longueur =10.5;
R.Largeur = 11.2;
c1.Longueur =22.0;
c1.Largeur = 22.0;
cout «c1.aire(); R.changer_cote(32.0);
cout «c1.perimetre();
cout «R.perimetre();
return 0 ;
}
Publicité
POO C++ TD4: Héritge
1/4
2
2
Exercice: Article
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.
Réaliser ensuite une classe ArticleEnSolde, dérivée de la classe Article. Cette sous-classe
comprend une information additionnelle:
— Remise : 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 égale-
ment redéfinir la méthode Afficher(), afin que l’affichage donne également le pourcen-
tage de remise sur le prix d’origine.
POO C++ TD4: Héritge
Publicité
2/4
3
3
Exercice: Banque
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 : nu-
méro du compte (type long) et le solde (type double) et les opérations publiques sui-
vantes :
1. Ajouter() : ajout de l’argent dans le compte
2. Retirer() : retirer de l’argent à partir d’un compte
3. 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 princi-
pal.
POO C++ TD4: Héritge
3/4
Publicité
4
4
Exercice: Véhicule
Définissez une classe Vehicule qui a pour attributs des informations valables pour tout
type de véhicule :
— sa marque
— sa date d’achat
— son prix d’achat
— son prix courant
1. Définissez un constructeur prenant en paramètre les trois attributs correspondant à
la marque, la date d’achat et le prix d’achat. Le prix courant sera calculé plus tard.
Implémentez la méthode qui affiche l’état de l’instance, c’est-à-dire la valeur de ses
attributs.
2. Définissez deux classes Voiture et Avion, héritant de la classe Vehicule et ayant les
attributs supplémentaires suivants :
— pour la classe Voiture : o sa cylindrée ; o son nombre de portes ; o sa puissance ; o
son kilométrage.
— pour la classe Avion : o son type (hélices ou réaction) ; o son nombre d’heures de vol.
Définissez, pour chacune de ces classes, un constructeur permettant l’initialisation expli-
cite de l’ensemble des attributs, ainsi la méthode d’affichage.
Publicité
Nb : Constructeurs et méthodes d’affichage devront utiliser les méthodes appropriées
de la classe parente !
Encore des méthodes Ajoutez une méthode void calculePrix(int anneActuelle) dans la
classe Vehicule qui, à ce niveau, fixe le prix courant au prix d’achat moins 1% par année
(entre la date d’achat et la date actuelle).
Redéfinissez cette méthode dans les deux sous-classes Voiture et Avion de sorte à
calculer le prix courant en fonction de certains critères, et mettre à jour l’attribut corres-
pondant au prix courant :
• Pour une voiture, le prix courant est égal au prix d’achat, moins : o 2% pour chaque
année depuis l’achat jusqu’à la date actuelle o 5% pour chaque tranche de 10000km par-
courus o 10% s’il s’agit d’un véhicule de marque "Renault" ou "Fiat" et plus 20% s’il s’agit
d’un véhicule de marque "Ferrari" ou "Porsche" .
• Pour un avion, le prix courant est égal au prix d’achat, moins : o 10 % pour chaque
tranche de 1000 heures de vol s’il s’agit d’un avion à réaction. o 10 % pour chaque
tranche de 100 heures de vol s’il s’agit d’un avion à hélices. Le prix doit rester positif
(donc s’il est négatif, on le met à 0).
POO C++ TD4: Héritge
4/4