e) Write definition of function setFraction() according to given prototype. That
ID: 3890020 • Letter: E
Question
e) Write definition of function setFraction() according to given prototype. That is, change instance variables to what provided in the parameters.
f) Write definition of function print() according to given prototype. Print instance variables with appropriate message, one per line.
g) Write definition of function getFraction() according to given prototype.
int main () {
Fraction f1;
f1.getFraction();
cout << " Fraction is: ";
f1.print();
f1.setFraction(2, 9);
cout << : Fraction is: ";
f1.print();
cout << " ";
return 0;
}
Write definition of function equal() according to given prototype. That is return true if two fractions are equal else return false.
j) Here is sample test code to test your equal() function.
int main () {
Fraction f1(1,2);
Fraction f2(1, 2);
Fraction f3 (3, 5);
if (f1.equal(f2)))
cout << " Fraction f1 equals f2 : ";
else
cout << " Fraction f1 NOT equal f2 : ";
cout << " ";
if (f1.equal(f3))
cout << " Fraction f1 equals f3: ";
else
cout << " Fraction f1 NOT equal f3: ";
cout << " ";
return 0;
k) Add a prototype for a value returning function called add() according to this UML prototype
l) Write implementation of the function add() according to given
prototype above. No need to simplify resulting fraction.
m) In main(), use code below to test your add() function.
n) Add a prototype to overload the + operator and also write its implementation.
f4 = f1 + f2;
o) Also overload the * operator so that two Fractions can be multiplied. Add code in your test program to test it out.
p) Also overload the >> operator so that you can prompt and read values to a Fraction object.
q) Also overload the << operator so print out numerator and denominator of a Fraction object together with the / sign.
76 int main() 78 79 80 81 82 83 84 86 87 Fraction f1(1,5); Fraction f2(3,4); Fraction f3; f3 = f1.add(f2); coutExplanation / Answer
Part1
----------------------------
#include<iostream>
using namespace std;
class Fraction
{
public:
int numerator,denominator;
public:
Fraction()
{
numerator=1;
denominator=1;
}
public:
Fraction(int denominator)
{
numerator=1;
this->denominator=denominator;
}
public:
Fraction(int numerator,int denominator)
{
this->numerator=numerator;
this->denominator=denominator;
}
public:
void setFraction(int,int);
int getFraction();
void print();
};
int main ()
{
Fraction f1;
Fraction f2(3);
Fraction f3(4,5);
cout<<f2.getFraction();
cout << " Fraction is: ";
f1.print();
f1.setFraction(2, 9);
cout <<" after Setting Fraction is: "<<endl;
f1.print();
cout << " ";
return 0;
}
void Fraction::setFraction(int num1,int num2)
{
numerator=num1;
denominator=num2;
}
int Fraction::getFraction()
{
return denominator;
}
void Fraction::print()
{
cout<<"The Nominator is:"<<numerator<<endl;
cout<<"The Denominator is:"<<denominator<<endl;
}
----------------------------
part2:
---------------------------
#include<iostream>
using namespace std;
class Fraction
{
public:
int numerator,denominator;
public:
Fraction(int numerator,int denominator)
{
this->numerator=numerator;
this->denominator=denominator;
}
public:
void setFraction(int,int);
int getFraction();
void print();
bool equal(Fraction &obj);
};
int main ()
{
Fraction f1(1,2);
Fraction f2(1, 2);
Fraction f3 (3, 5);
if (f1.equal(f2))
cout << " Fraction f1 equals f2 : ";
else
cout << " Fraction f1 NOT equal f2 : ";
cout << " ";
if (f1.equal(f3))
cout << " Fraction f1 equals f3: ";
else
cout << " Fraction f1 NOT equal f3: ";
cout << " ";
return 0;
}
bool Fraction::equal(Fraction &obj) //j) Here is sample test code to test your equal() function.
{
if(numerator==obj.numerator)
{
return true;
}
else
{
return false;
}
}
void Fraction::print() //f.Print instance variables with appropriate message, one per line.
{
cout<<"The Nominator is:"<<numerator<<endl;
cout<<"The Denominator is:"<<denominator<<endl;
}
istream& operator >> (istream& ins, Fraction& e) //p) Also overload the >> operator so that you can prompt and read values to a Fraction object.
{
ins >> e.numerator;
ins >> e.denominator;
return ins;
}
ostream& operator << (ostream& outs, const Fraction& e) //q) Also overload the << operator so print out numerator and denominator of a Fraction object together with the / sign.
{
outs<<"Numerator "<<e.numerator<<" Denominator"<<e.denominator<<endl;
}
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.