Soyez le premier à donner votre avis sur cette source.
Vue 10 730 fois - Téléchargée 942 fois
class Fraction { int Num; int Denom; public : //constructeurs Fraction(const int, const int); Fraction(const int); Fraction(); //Opérateuns d'action Fraction& operator*(const Fraction&); Fraction& operator*(const int&); Fraction& operator+(const Fraction&); Fraction& operator+(const int&); Fraction& operator-(const Fraction&); Fraction& operator-(const int&); Fraction& operator/(const Fraction&); Fraction& operator/(const int&); Fraction& operator=(const Fraction&); Fraction& operator=(const int&); //Opérateurs de test bool operator>(const Fraction&); bool operator>(const int&); bool operator>=(const Fraction&); bool operator>=(const int&); bool operator<(const Fraction&); bool operator<(const int&); bool operator<=(const Fraction&); bool operator<=(const int&); bool operator==(const Fraction&); bool operator==(const int&); bool operator!=(const Fraction&); bool operator!=(const int&); //Fonctions amies friend ostream& operator<<(ostream&, Fraction&); //opérateurs de flux (ex : cout) friend istream& operator>>(istream& , Fraction&); //opérateurs de flux (ex : cin) friend int Pgcd(const int&,const int&); // trouve le plus grand diviseur commun entre i1 et i2 //Fonctions diverses Fraction& Simp(); //Simplifie une fraction Fraction& Puis(const int&); //comme un opérateur puissance Fraction& Inv(); //Inverse la fraction int Signe(); // 1 = positif ou nul -1 = négatif void MemeDenom(Fraction&,Fraction&); // met les deux fractions au meme dénominateur float ValAprox(); };
17 déc. 2004 à 11:51
13 juil. 2004 à 12:55
{
Fraction F1(*this),F2(F);
return (F1.ValAprox() == F2.ValAprox());
}
je ne ferais pas comme ça, compare plutôt Num et Denom de this et de F (pq créer F1 et F2? ça fait deux créations d'objets en trop)
je suppose qu'il y a le même genre de code à modifier ailleurs ds la classe, j'ai pas regardé.
20 mai 2004 à 09:10
Fraction& operator=(const Fraction&);
c'est à dire l'operateur d'affectation, ne le redefinie pas, tu pourra pas faire plus optimisé que celui crée par le compilateur par defaut
17 mai 2004 à 19:08
Sinon, j'ai un pb sur la division ... je la règle et dirai quand je poserai une nouvelle version qui ne tardera pas trop .... ;)
MWT_Krantset
16 mai 2004 à 20:04
pour la fonction puissance, tu peux surcharger l'operateur ^, je trouve ca plus explicite et c'est presque rien a changer
la methode MemeDenom pourrait etree une methode de classe je pense
la classe est assez fonctionnelle, c'est pas mal
ps : Fraction(const int, const int); le const est inutile, tu passe les int par copie
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.