
Exercice 1 :
Ecrivez un programme C++ qui contient une classe modélisant l’heure (heures, minutes et
secondes. La classe sera appelé « Time » est devra déclarer tous ses attributs comme étant
privées. De plus, elle devra contenir les méthodes publiques suivantes :
Un constructeur avec des valeurs par défaut pour chacun des attributs.
Un constructeur avec comme paramètre une chaine de caractères, qui contient l’heure
sous la forme : « hh:mm:ss ». Par exemple : "05 :38 :59".
Un constructeur par copie.
Un constructeur par déplacement .
Des getters (un pour chacun des attributs).
Des setters (un pour chacun des attributs). Le changement de valeurs doit être géré de
manière à ce que l’on puisse gérer les cas où l’utilisateur entre une valeur erronée pour
l’un des attributs (une valeur supérieur à 23 ou inférieur à 0 pour l’heure, ou une valeur
non comprise entre 0 et 59 pour les minutes et les secondes.
Une fonction amie (compare) qui permet de comparer deux objets « Time » et de
retourner un entier égal à :
o -1 si le premier objet en paramètre est le plus grand .
o 0 si les deux objets sont égaux .
o 1 si le second objet en paramètre est le plus grand .
Une méthode (changeTime) permettant d’incrémenter ou de décrémenter un objet
en secondes (seul paramètre de la méthode). L’opération doit gérer les cas de
dépassement de valeurs pour l’un des attributs de l’objet concerné. Par exemple :
Time t(0,26,53) ;
t.changeTime(50) ;
Time t(0,26,53) ;
t.changeTime(-56) ;
L’addition de 50 et 53 donnera 103s qui est
équivalente à 1min 43s qui doit être ajoutée à t
L’objet t devra alors avoir la valeur 00:27:43
L’addition de -56 et 53 donnera -3s qui est
équivalente à 1min 3s qui doit être
soustraite de t . L’objet t devra alors avoir la
valeur 00:25:57
Cours et exercices de l’informatique : https://coursetexercicestv.blogspot.com/