Lancer votre environnement de développement préféré.
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;; } };
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(); } }
Vérifier que le code de useObjectA()
fonctionne correctement.
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.