Vous êtes sur la page 1sur 3

TD 6: Polymorphisme

Durant cette partie, vous allez :


 Savoir mettre en pratique un vecteur de pointeurs pour des objets multi
hiérarchies.
 Manipuler l’accès à une méthode de classe fille.
 Définir le constructeur de recopie dans le cas du polymorphisme et
l’opérateur=.
 Introduire la notion de redéfinition d’une méthode dans le cas dynamique.

Exercice 1 : Banque : (premier pas polymorphisme)

En se basant sur l’exercice comptes bancaires du TD héritage, on désire maintenant


gérer tous les comptes bancaires au sein d’une banque. via une application C++.

Un compte bancaire est caractérisé par : un numéro de compte (RIB), un solde, le nom
du propriétaire et l’année de création.

Un compte épargne est un compte qui est caractérisé en plus par une valeur minimale
du solde de 5DT et un taux d’intérêt annuel.

Un compte courant est aussi un compte qui est caractérisé en plus par un seuil limité à
-500 DT.

La classe Banque qui est caractérisée par le nom de la banque et un lieu, permet de
gérer les différents types de comptes en effectuant les opérations suivantes :

1- Ajouter un compte, compte courant ou un compte épargne.


2- Afficher les comptes ayant un solde inferieur à une valeur donnée.
3- Modifier le nom du propriétaire d’un compte donné par son numéro.
4- Supprimer tous les comptes qui ont dépassé 10 ans de création.
Exercice 2 : Parking

On désire réaliser une application pour la gestion des parkings d’une entreprise, via une
application C++.

L’accès à un parking nécessite une carte magnétique caractériser par : identifiant unique,
nombre d’heures de stationnement, prix de l’heure.

Un abonnement, est une carte magnétique, caractérisé en plus par la date d’expédition et une
gratuité d’accès pour les 10 premières heures.

Un parking est caractérisé par une référence unique, le nombre de places totales, l’ensemble
des identifiants des cartes magnétique autorisées (sans redondance) et l’ensemble des
identifiants des cartes magnétique utilisés pour accéder au parking (sans redondance).

L’application gère l’ensemble des parkings et des cartes et abonnements. Elle répond aux
besoins suivants :

1. Ajouter un parking, une carte d’accès ou un abonnement.

2. Ajouter l’identifiant d’une carte à un parking pour y accéder. Vérifier que la carte est
autorisé, qu’il y a encore de places libres et que la carte n’a pas été utilisé pour accéder
au parking.

3. Trouver le parking le moins rentable : celui dont le taux de remplissage est le plus
faible.

4. Supprimer une carte magnétique sachant son identifiant. Il est à rappeler que la carte
doit être aussi retirée de tous les parkings.

Exercice 3: Bibliothèque

On désire implémenter un système de gestion des emprunts d’ouvrages dans une


bibliothèque. Un ouvrage doit être nécessairement soit un livre, soit une vidéo.
Une analyse a permis d’identifier les classes suivantes :
- Ouvrage : Un ouvrage est caractérisé par un titre (String), une date de création
(String) et un indicateur d’existence (booléen : vrai si l’ouvrage est disponible dans la
bibliothèque et faux s’il est emprunté).
- Livre : Un livre est un ouvrage caractérisé par son auteur (String).
- Vidéo : Une vidéo est un ouvrage caractérisé par son éditeur (String) et sa durée
(Réel)
- Abonne : Un abonné est caractérisé par son numéro d’identité (entier), son nom
(String), le numéro de son abonnement (entier) et l’ouvrage pris de la bibliothèque (un
abonné peut prendre à la fois un seul ouvrage).
- Bibliothèque : La bibliothèque est caractérisée par :
Un ensemble d’ouvrages, où chaque ouvrage est présent en un seul exemplaire
(tableau d’ouvrages) et un ensemble d’abonnés (tableau d’abonnés). Cette classe doit
offrir les méthodes suivantes :
1. AjoutOuvrage : qui permet d’ajouter un ouvrage dans le tableau, s’il n’existe pas
déjà (la comparaison doit se faire sur le titre)
2. GetOuvrage : qui prend comme paramètre un titre et retourne l’ouvrage
correspondant.
3. AjoutAbonne : qui permet d’ajouter un abonné, s’il n’existe pas.
4. GetAbonne : qui prend comme paramètre un numéro d’identité et retourne l’abonné
correspondant.
5. Emprunter : qui prend comme paramètres un titre d’ouvrage et un numéro d’identité
et permet d’affecter l’ouvrage correspondant s’il existe à l’abonné correspondant s’il
existe ; sachant que : Un ouvrage ne peut être emprunté que s’il est disponible .Un
ouvrage emprunté doit devenir non disponible.
6. Rendre : qui prend comme paramètre un numéro d’identité et supprime l’ouvrage
qui lui a été affecté. Cet ouvrage devient alors disponible.
7. Info : qui permet d’afficher tous les ouvrages présents dans la bibliothèque, ainsi
que tous les abonnés ayant un emprunt en cours.

Vous aimerez peut-être aussi