Solution de l’exercice 9.1

On suppose que la fraction est entrée sous la forme num/den, où num et den sont deux entiers :

istream& operator>>(istream&  is, fraction& f){     int i, j;     is >> i;     if (!is) return is;     char c; is >> c;        // a-t-on une barre (/) ?     if (c != '/') {         // non         f.num = i; f.den = 1;    // f vaut i/1         return is.putback(c);    // remettre en place         }     is >> j;     if ( (is) && (j) )        // si tout est ok         { f.num = i; f.den = j; }     return is;}

Cette fonction doit être déclarée amie de la classe fraction.


Retour au texte.