Envoyé par
sgu35
Bonjour Therwald, je ne comprends pas ce que tu as écrit :
Envoyé par
therwald
on peut exprimer un entier n par n'import quelle fraction telle que num=denom*n.
1) n/1 est une fraction, car personne n'a dit que le dénominateur 1 est interdit.
2) n/1 est la fraction réduite, mais 2n/2 est tout aussi valide...
Mon propos, c'est que comme tout an/a avec a!=0 est une fraction valide qui a la même valeur que l'entier n, alors la conversion de tout entier n en une fraction de la forme an/a est valide et permet de construire une fraction à partir de n et faire des opérations avec.
Donc c'est sémantiquement valable, et techniquement s'il existe un constructeur de ta classe de fraction qui peut accepter un entier unique en entrée il sera automatiquement appliqué pour faire la conversion, sauf si tu as refusé cette conversion en appliquant le mot-clef explicit au constructeur.
la définition de constructeur que tu montres ne permet pas de savoir si le constructeur acceptera un entier unique en argument, je suppose que la déclaration est du style:
ZFraction::ZFraction(int num=0,int den=1);
Partager