This is an old revision of the document!
Nous repartons du code de MyBiDiCounter
tel défini à la fin de la question 1 de la partie II.
Ajouter à la classe MyBiDiCounter
une nouvelle méthode :
increment(unsigned value) si counter + value <= max counter <- counter + value sinon counter = counter + value mod max
Tester le bon fonctionnement de cette classe à partir du code suivant :
void testNewIncMethod() { MyBiDiCounter bidiCounter1(0, 5); for(unsigned i = 0; i <= 5; i++) { bidiCounter1.increment(5); bidiCounter1.print(); } }
Tester le code suivant.
void testOldIncMethod() { MyBiDiCounter bidiCounter1(0, 5); for(unsigned i = 0; i <= 5; i++) { bidiCounter1.increment(); bidiCounter1.print(); } }
Expliquer pourquoi cela ne fonctionne pas ? Proposer une modification de l’appel pour que cela puisse fonctionner. Question n°4 : Modifier la classe MyBiDiCounter de manière à ce que les deux méthodes soient accessibles, à la fois la méthode increment() et la méthode increment(unsigned). Tester ensuite que le code initial de la fonction testOldIncMethod().