===== 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.