User Tools

Site Tools


in202:seance_2:td_2

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
in202:seance_2:td_2 [2021/03/28 06:58]
bmonsuez created
in202:seance_2:td_2 [2022/11/18 10:45] (current)
Line 1: Line 1:
 ====== Héritage & Dérivation ====== ====== Héritage & Dérivation ======
  
 +[[in202:​seance_2| Séance n°2]]
  
-==== Question n° 1 ====+===== Contenu du TD =====
  
-A partir de la classe ​''​MyCounter''​ que vous avez développé la semaine, ​une nouvelle ''​MyBiDiCounter''​.  +[[in202:​seance_2:​td_2:​part_I|Partie I: Création d'une classe ​dérivée]]
-Cette classe ​doit ajouter deux méthodes à la classe de base :+
  
-  * Une première méthode decrement qui décrémente le compteur, cette méthode correspond au pseudo-code suivant ​: +[[in202:seance_2:​td_2:​part_II|Partie II: Arbres de dérivation]]
-<​code>​ +
-decrement() +
-    si counter > 0 +
-    counter <- counter – 1 +
-    sinon +
-        counter = max; +
-</​code>​+
  
-  * Une seconde méthode print qui affiche l’état du compteur de la manière suivante.+[[in202:​seance_2:​td_2:​part_III|Partie III: Méthodes masquées & surchargées]]
  
-<​code>​ +[[in202:seance_2:​td_2:​part_IV|Partie IV: Méthodes virtuelles]]
-print() +
-    affiche "​Compteur ​" counter "/"​ max (retour à la ligne) +
-</​code>​+
  
-==== Question n° 1.1 ==== 
  
-Ajouter les fonctions membres (méthodes) ''​decrement''​ et ''​print''​. 
- 
-==== Question n° 1.2 ==== 
- 
-Ajouter les constructeurs permettant de construire une classe ''​MyBiDiCounter''​. 
- 
-  En effet, la class ''​MyBiDiCounter''​ héritant de la classe ''​MyCounter''​ ne fournit que deux constructeurs automatiquement,​ le constructeur par défaut ''​MyBiDiCounter()''​ ainsi que le constructeur de recopie ''​MyBiDiCounter(const MyBiDiCounter&​)''​. Si nous voulons utiliser les constructeurs de ''​MyCounter(int)''​ et ''​MyCounter(int,​ int)'',​ il faut redéfinir des constructeurs ''​MyBiCounter(int)''​ et ''​MyBiCounter(int,​ int)''​. 
- 
-==== Question n°2 ====  
- 
-Tester votre nouveau compteur ''​MyBiDiCounter''​ en utilisant la fonction de test suivante. 
- 
-<code cpp> 
- 
-void testMyBiDiCounter() 
-{ 
-    MyBiDiCounter counterA(0, 4) 
-    counterA.print();​ 
-    for(int i=0; i < 6; i++) 
-    { 
-        counterA.increment();​ 
-        counterA.print();​ 
-    } 
-    for(int i=0; i < 6; i++) 
-    { 
-        counterA.decrement();​ 
-        counterA.print();​ 
-    } 
-} 
-</​code>​ 
  
  
in202/seance_2/td_2.1616914690.txt.gz · Last modified: 2021/03/28 06:58 by bmonsuez