User Tools

Site Tools


in204:tds:sujets:td1:main

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
in204:tds:sujets:td1:main [2019/09/19 11:47]
77.194.42.247 [Question n°1]
— (current)
Line 1: Line 1:
-====== TD1 : Introduction aux objets ====== 
- 
-{{ :​in204:​1-_in204_-_td1_-_premiers_pas_avec_les_objets.pdf |Format Pdf}} 
- 
-===== Partie I – Création du compteur en C++ ===== 
- 
- 
-==== Question n° 0 ==== 
- 
-Lancer votre environnement de développement préféré. 
- 
-==== Question n°1 ====  
- 
-Créer un ensemble de fichier counter.cpp et conter.hpp pour définir votre classe de base « MyCounter ».  
-Au départ, seul le fichier ''​counter.hpp''​ contient le code suivant : 
- 
-<code cpp> 
-struct MyCounter 
-{ 
-    unsigned counter; 
-    unsigned max; 
- 
-    unsigned getCounter() const { 
-      return counter; 
-    } 
-    unsigned getMax() const { 
-      return max; 
-    } 
- 
-    void increment() { 
-      counter ++; 
-      if(counter > max) 
-        counter = 0; 
-    } 
- 
-    void reset() { 
-      counter = 0; 
-    } 
- 
-    void set(unsigned value) { 
-      counter = (value <= max) ? value : counter; 
-    } 
- 
-    void setMax(unsigned value) { 
-       ​if(counter >= value) 
-         ​counter = 0; 
-         max = value;; 
-    } 
- 
-    MyCounter() 
-    { 
-        counter ​ = 0; 
-        max = value ; 
-    } 
-} 
-</​code>​ 
- 
-==== Question n°2 ==== 
- 
-Créer une fonction ''​useObjectA()''​ dans le fichier main.cpp reprenant le code présenté sur les transparents : 
- 
-<code cpp> 
-void useObjectA() { 
-    MyCounter Counter1; 
-    MyCounter Counter2; 
-    Counter1.setMax(2);​ 
-    Counter2.setMax(4);​ 
-    Counter1.reset();​ 
-    Counter2.reset();​ 
-    for(unsigned i = 0; i <= 5; i++) { 
-      std::​cout ​ 
- << "​Valeur des compteurs (" << Counter1.counter ​ 
- << ", " << Counter2.counter << "​)"​ << std::endl; 
-        Counter1.increment();​ 
-        Counter2.increment();​ 
-    } 
-} 
-</​code>​ 
- 
-==== Question n°3 ==== 
- 
-Vérifier que le code de ''​useObjectA()''​ fonctionne correctement. 
- 
-==== Question n°4 ==== 
- 
-Le code des fonctions membres a été écrit directement dans la ''​struct MyCounter''​. ​ 
- 
-Modifier le code pour séparer la déclaration des fonctions membres de leurs implantations. ​ 
  
in204/tds/sujets/td1/main.1568893649.txt.gz · Last modified: 2019/09/19 11:47 by 77.194.42.247