Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Writing in C++: ******ASSUME THE FRACTION CLASS ALREADY HAS THE FOLLOWING: a pri

ID: 3767708 • Letter: W

Question

Writing in C++:

******ASSUME THE FRACTION CLASS ALREADY HAS THE FOLLOWING:

a private numerator and denominator members.

--Create a public Fraction print function that prints a fraction as “numerator/ denominator”. The function should have no parameters. It should return nothing.

--Overload the multiply, ‘*’, operator. The function should take one Fraction class parameters, the multiplier. It should return a Fraction class, the product of the current class (this) and the multiplier passed in.

--Overload the divide, ‘/’ operator. The function should take one Fraction class parameters, the divisor. It should return a Fraction class, the quotient of the current class (this) and the divisor passed in.

--Overload the addition, ‘+’, operator. . The function should take one Fraction class parameters, an addend. It should return a Fraction class, the sum of the current class (this) and the addends passed in. (The function must be able to add fractions with different denominators.)

--Overload the subtraction, ‘­’, operator. . The function should take one Fraction class parameters, the subtrahend. It should return a Fraction class, the difference of the current class (this) and the subtrahend passed in. (The function must be able to add fractions with different denominators.)

Thank you!

Explanation / Answer

Here is the Fraction class for you. Try implementing it. If you need any further refinements, just get back to me.

#include <iostream>
using namespace std;

class Fraction
{
private:
int numerator;
int denominator;
public:
void print()
{
cout<<numerator<<" / "<<denominator;
}
Fraction operator*(Fraction second)
{
Fraction temp;
temp.setNumerator(numerator + second.getNumerator());
temp.setDenominator(denominator + second.getDenominator());
return temp;
}
Fraction operator/(Fraction second)
{
Fraction temp;
temp.setNumerator(numerator * second.getDenominator());
temp.setDenominator(denominator * second.getNumerator());
return temp;
}
Fraction operator+(Fraction second)
{
Fraction temp;
temp.setNumerator(numerator*second.getDenominator() + denominator*second.getNumerator());
temp.setDenominator(denominator * second.getDenominator());
return temp;
}
Fraction operator-(Fraction second)
{
Fraction temp;
temp.setNumerator(numerator*second.getDenominator() - denominator*second.getNumerator());
temp.setDenominator(denominator * second.getDenominator());
return temp;
}
void setNumerator(int num)
{
numerator = num;
}
void setDenominator(int den)
{
denominator = den;
}
int getNumerator()
{
return numerator;
}
int getDenominator()
{
return denominator;
}
};