Nous souhaitons redéfinir dans une classe MyAdvCounter qui dérive de la classe MyCounter une nouvelle méthode increment() en remplacement de la méthode actuelle dont le comportement est le suivant :
increment()
si counter < max
counter <- counter + 1
sinon
counter = max
Ie. le compteur ne revient pas à zéro et reste à max une fois la valeur max atteinte.
Tester le bon fonctionnement de la méthode à partir du code suivant et vérifier que le comportement est conforme
void testMyAdvCounter() { MyAdvCounter incCounter(0, 4); for(int i=0; i < 6; i++) { incCounter.increment(); incCounter.print(); } }
Nous créons la fonction suivante :
void testCounter(MyCounter& unCompteur) { for(int i=0; i < 6; i++) { unCompteur.increment(); unCompteur.print(); } }
Tester la méthode en passant à la fonction testCounter un compteur de type MyCounter et un compteur de type MyAdvCounter. Expliquer le comportement de la fonction pour chacun des types de compteur.