Les montres font parmi des objets les plus communs du monde. Chaque montre est caractérisée par
les variables entières suivantes : heure, minute, seconde. Sur une montre on doit :
Affecter à la création aux variables heure, minute et seconde des arguments par défaut
ajustés. Par exemples hh=00, mm=0, ss=00 ;
Afficher le temps au format hh:mm:ss ;
Ajuster le temps c’est-à-dire ajouter respectivement aux variables heure, minute, seconde les
constantes Δh, Δm, Δs ;
Incrémenter la variable seconde.
1. Concevez une classe Montre ayant pour membre privés : heure, minute, seconde.
Classe Montre {
Privé : hh, mm, ss : entier ;
Publique :
Montre () ;
Void Ajuster(Δh :entier, Δm:entier, Δs:entier) ;
Void Afficher () ;
}
2. Tout en donnant un exemple concret, définir les notions suivantes: Classe, Constructeur,
Attributs, Méthodes.
Classe : Une classe est un ensemble d’objets qui ont en commun : les mêmes
méthodes et les mêmes types d’attributs
Constructeur : Un constructeur, généralement public, est une méthode portant le
même nom que la classe à laquelle il appartient.
Attributs : Les attributs d’un objet sont l’ensemble des informations se
présentant sous forme de variable et permettant de représenter l’état de l’objet.
Méthode : Une méthode est une fonction ou procédure liée à un objet.
3. Implémenter en C++ les différentes méthodes (fonctions membres) suivantes :
a. Le constructeur qui initialise la montre à 12:00:00 à la création.
Montre :: Montre () {
hh=12 ;
mm=0 ;
ss=0;}
Université de Ngaoundéré Année académique 2010/2011
Faculté des sciences Master 1
Département de Physique
Monsieur NWOYNDO dispose d’un terrain en forme de quadrilatère (polygone à quatre côtés) qu’il
décide de vendre au prix de 2000 Fcfa le mètre carré. Et comme plusieurs personnes veulent acheter
une partie, il décide de découper son terrain en plusieurs lots rectangulaire, carré ou trapézoïdale.
1. Concevoir une classe Quadrilatère avec ses membres de données et ses fonctions membres
qui décrit un objet en forme de quadrilatère.
Université de Ngaoundéré Année académique 2010/2011
Faculté des sciences Master 1
Département de Physique
Classe Quadrilatère {
Privé :
Coté_1, Coté_2, Coté_3, Coté_4: réel ;
Prix :réel ;
Publique :
void Initialiser () ;
réel Surface () ;
réel CalculPrix () ;
Void AfficherPrix () ;
}
2. Dessiner le modèle du système en sachant que les classes Rectangle, Carré et Trapèze
dérivent de la classe Quadrilatère. Les classes Rectangle, Carré et Trapèze pourront avoir des
fonctions membres et des membres des données propres à elles
Quadrilatère
Coté_1 ; Coté_2 ;
Coté_3 ; Coté_4 ;
Prix
Surface ( ) ;
CalculPrix () ;
AfficherPrix () ;
Rectangle Trapèze
Surface ( ) ; Ht : entier;
Périmètre () ; Surface ( ) ;
Diagonale() ; Périmètre () ;
Carré
Surface ( ) ;
Périmètre () ;
Comme classes Rectangle, Carré et Trapèze hérite des méthodes et des attributs la
classe quadrilatère, on n’a plus besoin de redéfinir la méthode AfficherPrix() car sa
signature est son implémentation ne change pas.
Void Quadrilatère ::AfficherPrix(){
float Sur=surface() ;
cout<< "Prix ="<<Prix ;
Rectangle Trapèze
Surface ( ) ; Surface ( ) ;
Périmètre () ; Périmètre () ;