Get a cpp and h from this code.
#ifndef RATIONAL_H
#define RATIONAL_H
#include <ostream>
using namespace std;
class Rational
{
double num;
double den;
public: // Constructor
Rational::Rational( double n = 0.0, double d = 1.0 ) : num( n ), den( d )
{
if ( den > 0 )
{
d = den;
}
else
{
cout << "Error Try again" << endl;
}
for ( int i = 2; i <= num; ++i )
{
if ( ((num/i) == ((int)(num/i))) && ((den/i) == ((int)(den/i))) )
{
num /= i;
den /= i;
--i;
}
}
} // addition
Rational Rational::operator+ ( const Rational &rhs )
{
return Rational( num * rhs.den + den * rhs.num, den * rhs.den );
} // subtraction
Rational Rational::operator- ( const Rational &rhs ) const
{
return Rational( num * rhs.den - rhs.num * den, den * rhs.den );
}// multiplication
Rational Rational::operator* ( const Rational &rhs ) const
{
return Rational(num * rhs.num, den * rhs.den);
}// division
Rational Rational::operator/ ( const Rational &rhs ) const
{
return Rational(num * rhs.den, den * rhs.num);
}
friend ostream &operator<< ( ostream&, const Rational& );// insertion
friend istream &operator>> ( istream&, Rational& );
};
istream &operator>> ( istream &in, Rational &rhs )
{
return in >> rhs.num >> rhs.den;
}// show form: (a, b)
ostream &operator<< ( ostream &out, const Rational &rhs )
{
return out << rhs.num << "/" << rhs.den;
};
#endif