===== Partie I – Création du compteur en C++ ===== [[in204:tds:sujets:td1|TD1]] ==== 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 : 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;; } }; ==== Question n°2 ==== Créer une fonction ''useObjectA()'' dans le fichier main.cpp reprenant le code présenté sur les transparents : 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(); } } ==== 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.