Académique Documents
Professionnel Documents
Culture Documents
Examen de POO (C++), SMI5 et II5 -Durée : 1h30. Aucun document autorisé
Important : Il faut respecter exactement les noms des variables et des fonctions.
3/ De plus, définir une classe nommée Voiture dérivée publiquement de la classe mère Vehicule.
Cette sous classe de sa part contient trois membres protégés :
nombre_portes de type int ;
puissance et kilometrage de type double
Elle va également redéfinir les méthodes suivantes :
affiche() afin que l’affichage donne également les trois membre nombre_portes, puissance et
kilometrage ;
calculePrix() permet de calculer le membre prix_courant d’une Voiture à l’aide de la formule
suivante : prix_courant = (1 - ((2022 - annee_achat)*0.02 +0.05*kilometrage/10000))*prix_achat ;
Voiture (int annee, double prix, int portes, double cv, double km) qui joue le rôle du constructeur
de la classe en question.
4/ 4.1/ Ecrire le programme principal qui permet d’appeler
Un objet de type Vehicule
Deux objets de type Voiture
Trois objets de type Camion
1/2
Pour chaque objet, le programme principal va appliquer les méthodes affiche() et calculePrix().
4.2/ Stocker les voitures et les camions dans un vecteur vect.
Maintenant, on suppose que nos véhicules peuvent être marqués par deux types d’habillage (Deco1 et Deco2)
5/ Ajouter les classes nécessaires en passant par une classe abstraite pure (DecoratorAbstrait).
NB. Un habillage doit être utilisé (void utiliser()).
7/ Dans le programme principal, créer un objet de type Vehicule * qui reçoit un objet de type Voiture et lui
appliquer un habillage de votre choix.
Exercice 2 (4 pts)
1/ Déclarer une classe Triple avec trois membre privés (double) x, y et z. Définir, un seul constructeur qui
initialise les membres par des valeurs spécifiées par l’utilisateur ou, par défaut, toutes égales à 0. Puis,
surcharger les opérateurs suivants :
Bon courage
2/2