0% ont trouvé ce document utile (0 vote)
35 vues4 pages

TP - 9

Le document présente plusieurs exercices de programmation orientée objet en C++, chacun visant à modéliser différents systèmes tels que la gestion de comptes bancaires, d'enseignants, de véhicules, de cartes bancaires et de membres d'une université. Chaque exercice demande de créer une classe de base avec des attributs et méthodes spécifiques, ainsi que des classes dérivées qui ajoutent des fonctionnalités supplémentaires, tout en utilisant le polymorphisme pour afficher les informations. Les exercices incluent également des méthodes statiques pour compter et afficher le nombre total d'instances créées pour chaque type de classe.

Transféré par

khalidmrjn99
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
35 vues4 pages

TP - 9

Le document présente plusieurs exercices de programmation orientée objet en C++, chacun visant à modéliser différents systèmes tels que la gestion de comptes bancaires, d'enseignants, de véhicules, de cartes bancaires et de membres d'une université. Chaque exercice demande de créer une classe de base avec des attributs et méthodes spécifiques, ainsi que des classes dérivées qui ajoutent des fonctionnalités supplémentaires, tout en utilisant le polymorphisme pour afficher les informations. Les exercices incluent également des méthodes statiques pour compter et afficher le nombre total d'instances créées pour chaque type de classe.

Transféré par

khalidmrjn99
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

​ ​ ​ ​ ​ ​ Université Sultan Moulay Slimane

​ ​ ​ FP – Khouribga​
​ ​ ​ ​ ​ Département : Mathématiques et Informatique
​ ​ Filière : Mathématiques, Informatique, Physique (S4)
Module : POO (C++)
TP : POO (C++)
Année Universitaire : 2024/2025
Pr. Ibtissam Bakkouri

TP - 9

Exercice 1 :

Dans cet exercice, on vous demande de concevoir un système orienté objet en C++ permettant de

gérer différents types de comptes bancaires. Vous devez commencer par créer une classe de base

nommée CompteBancaire contenant les attributs titulaire (le nom du client) et solde (le montant

disponible dans le compte), ainsi que des méthodes de base telles que deposer(), retirer() et une

méthode virtuelle afficher() permettant d’afficher les informations du compte. Cette classe doit

également inclure un attribut statique compteurComptes permettant de compter le nombre total

de comptes créés, et une méthode statique afficherNombreComptes() pour afficher cette valeur.

Ensuite, vous devez créer deux classes dérivées : CompteCourant, qui hérite de

CompteBancaire et ajoute un attribut decouvertAutorise, et CompteEpargne, qui ajoute un

attribut tauxInteret ainsi qu’une méthode calculerInterets() permettant d’ajouter les intérêts au

solde. Chaque classe doit redéfinir la méthode afficher() pour afficher ses propres informations.

Enfin, vous devez créer plusieurs objets de ces deux types de comptes, les stocker dans un

conteneur de type vector<CompteBancaire*>, puis itérer sur ce vecteur pour afficher les

informations de chaque compte de manière polymorphe. Vous devrez aussi afficher le nombre

total de comptes créés grâce à la méthode statique fournie.


Exercice 2 :

Dans cet exercice, vous allez modéliser un système de gestion des enseignants d’un établissement

en utilisant la programmation orientée objet. Commencez par définir une classe de base appelée

Professeur, qui contient les attributs communs comme nom, prénom et matricule, ainsi qu’une

méthode virtuelle afficher() pour afficher les informations du professeur. Ajoutez à cette classe

un attribut statique nommé nombreProfesseurs, qui permettra de compter le nombre total

d’objets Professeur créés, ainsi qu’une méthode statique afficherNombreProfesseurs() pour

l’afficher. Ensuite, créez deux classes dérivées : ProfesseurPermanent, qui contient un attribut

supplémentaire salaireFixe, et ProfesseurVacataire, qui contient les attributs nombreHeures et

tarifHoraire, ainsi qu’une méthode calculerSalaire() pour calculer le salaire en multipliant les

heures par le tarif horaire. Chaque classe doit redéfinir la méthode afficher() pour montrer ses

propres informations spécifiques. Enfin, créez un conteneur vector<Professeur*> pour stocker

différents types de professeurs, et utilisez le polymorphisme pour afficher les informations de

tous les professeurs. À la fin, utilisez la méthode statique pour afficher le nombre total de

professeurs créés.

Exercice 3 :

Dans cet exercice, vous allez modéliser un système de gestion de véhicules dans une agence de

location en C++. Commencez par créer une classe de base appelée Vehicule avec des attributs

génériques tels que marque, modele et immatriculation, ainsi qu’une méthode virtuelle

afficher() pour afficher les informations du véhicule. Ajoutez à cette classe un attribut statique

nbVehicules qui comptabilise le nombre de véhicules créés, et une méthode statique

getNbVehicules() pour retourner cette valeur. Ensuite, créez deux classes dérivées : Voiture avec

un attribut nombrePortes, et Camion avec un attribut capaciteCharge. Chaque classe doit

redéfinir la méthode afficher() pour inclure ses informations spécifiques. Pour la classe Camion,
ajoutez également une méthode estLourd() qui retourne vrai si la capacité de charge dépasse une

certaine valeur (par exemple 3 tonnes). Ensuite, dans le programme principal, créez un

vector<Vehicule*> pour stocker un ensemble de véhicules variés, puis affichez leurs

informations en utilisant le polymorphisme. Enfin, affichez le nombre total de véhicules créés en

appelant la méthode statique.

Exercice 4 :

Dans cet exercice, vous allez gérer différents types de cartes bancaires. Créez une classe de base

CarteBancaire avec les attributs numero, titulaire et solde, ainsi qu’une méthode virtuelle

afficherInfo(). Créez deux classes dérivées : CarteCredit (avec un attribut plafondCredit et une

méthode utiliserCredit()), et CarteDebit (avec un attribut compteLie). Chaque classe doit

redéfinir afficherInfo() selon son type. Ajoutez un champ statique nbCartes et une méthode

statique qui affiche le nombre total de cartes créées. Utilisez un vector<CarteBancaire*> pour

gérer un portefeuille de cartes et exploitez le polymorphisme pour afficher les informations de

chaque carte.

Exercice 5 :

Dans cet exercice, vous allez modéliser les membres d’une université en utilisant les principes de

la programmation orientée objet. Vous devez créer une classe de base appelée

MembreUniversite, contenant les attributs nom, prenom et id, ainsi qu’une méthode virtuelle

afficherInfos() servant à afficher les informations générales d’un membre. Ensuite, vous allez

dériver deux classes : Etudiant, qui ajoute les attributs filiere et niveau, et Enseignant, qui

ajoute les attributs grade et departement. Chaque classe dérivée doit redéfinir la méthode

afficherInfos() pour afficher ses propres informations. La classe MembreUniversite doit

également comporter un attribut statique nbMembres permettant de compter le nombre total de

membres créés, ainsi qu’une méthode statique getNbMembres() qui retourne ce nombre.
L’objectif est de créer une liste (par exemple un vector<MembreUniversite*>) contenant à la

fois des étudiants et des enseignants, puis de parcourir cette liste pour afficher les informations à

l’aide du polymorphisme, et enfin d’afficher le nombre total de membres créés en utilisant la

méthode statique.

Vous aimerez peut-être aussi