User Tools

Site Tools


in202:seance_2:td_2

This is an old revision of the document!


Héritage & Dérivation

Question n° 1

A partir de la classe MyCounter que vous avez développé la semaine, une nouvelle MyBiDiCounter. Cette classe doit ajouter deux méthodes à la classe de base :

  • Une première méthode decrement qui décrémente le compteur, cette méthode correspond au pseudo-code suivant :
decrement()
    si counter > 0
    	counter <- counter – 1
    sinon
        counter = max;
  • Une seconde méthode print qui affiche l’état du compteur de la manière suivante.
print()
    affiche "Compteur : " counter "/" max (retour à la ligne)

Question n° 1.1

Ajouter les fonctions membres (méthodes) decrement et print.

Question n° 1.2

Ajouter les constructeurs permettant de construire une classe MyBiDiCounter.

En effet, la class ''MyBiDiCounter'' héritant de la classe ''MyCounter'' ne fournit que deux constructeurs automatiquement, le constructeur par défaut ''MyBiDiCounter()'' ainsi que le constructeur de recopie ''MyBiDiCounter(const MyBiDiCounter&)''. Si nous voulons utiliser les constructeurs de ''MyCounter(int)'' et ''MyCounter(int, int)'', il faut redéfinir des constructeurs ''MyBiCounter(int)'' et ''MyBiCounter(int, int)''.

Question n°2

Tester votre nouveau compteur MyBiDiCounter en utilisant la fonction de test suivante.

void testMyBiDiCounter()
{
    MyBiDiCounter counterA(0, 4)
    counterA.print();
    for(int i=0; i < 6; i++)
    {
        counterA.increment();
        counterA.print();
    }
    for(int i=0; i < 6; i++)
    {
        counterA.decrement();
        counterA.print();
    }
}
in202/seance_2/td_2.1616914690.txt.gz · Last modified: 2021/03/28 06:58 by bmonsuez