Overloading an operator.

Overloading an operator.

operator

See version :

Pas de dépendances

Download :

#include <cstdlib>
#include <iostream>

using namespace std;

/* --------------------------- */

int pgcd (int m, int n)            // Algorithme d'Euclide (pour les matheux)
{
  if (n==0) return m;
  else return pgcd( n, m % n);
}

/* ---------------------------- */

class Fraction
{
private:
    int num;
    int denom;
public:
    Fraction();
    Fraction(int,int);
    void Simplifie();
    void Affiche();
    Fraction operator+(Fraction b);
};

Fraction::Fraction()
{
    num=denom=1;
}

Fraction::Fraction(int n,int d)
{
    num=n;
    denom=d;
}

void Fraction::Simplifie()
{
    int p=pgcd(num,denom);
    num/=p;
    denom/=p;
}

void Fraction::Affiche()
{
    cout << num << "/" << denom << endl;
}

Fraction Fraction::operator+(Fraction b)
{
    Fraction res;
    res.denom=denom*b.denom;
    res.num=num*b.denom+b.num*denom;
    res.Simplifie();
    return res;
}

/* ------------------------------ */

int main()
{
    int n,d;
    cout << "entrez numerateur, puis denominateur pour fraction 1" << endl;
    cin >> n;
    cin >> d;
    Fraction f1(n,d);
    cout << "entrez numerateur, puis denominateur pour fraction 2" << endl;
    cin >> n;
    cin >> d;
    Fraction f2(n,d);
    Fraction f3=f1+f2;
    f3.Simplifie();
    cout << "Votre fraction simplifiee" << endl;
    f3.Affiche();
    system("PAUSE");
    return 0;
}



Explanations

	No explanations yet.