In this project you are to design and build a Fraction class. This fraction class should following the following class .h file exactly.

class Fraction{ int num; int denom; public: Fraction(); // set num and denom to 0 and 1 resp. `Fraction(); // destructor. No big deal here. Fraction(n,d); //set num and denom to n and d resp. Fraction Add(Fraction f);// add fraction f to the fraction object and return. Fraction Mul(Fraction f); // Multiple fraction f time the object and return. void Reduce(); // Reduces the objects fraction in situ. ie divide by the gcd(n,denom) //Overloading output operator. Note that you must put the ostream implementation // here and not in the .cpp file. If you put it in the cpp file the // num in f.num is not recoganized. I believe this is a visual C++ problem // and not one that occurs in g++ etc. friend ostream &operator<<(ostream &output, Fraction &f) { return output << f.num << "/" << f.denom; } // Now lets overload the = and other binary mathematical operators const Fraction &operator=(const Fraction &); friend Fraction operator+(const Fraction, const Fraction); friend Fraction operator-(const Fraction, const Fraction);// Not completed friend Fraction operator*(const Fraction, const Fraction); friend Fraction operator/(const Fraction, const Fraction); }