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
.