
help with c++...paste working indented code plzz
2. Continuous of question 1. Implement operator overloading.
Operator Overloading
a) Implement two unary operator overload functions (-,+,!).
b) Implement four arithmetic operator overload functions (+,-,*,/).
c) Implement six relational operator overload functions (==,!=,>,>=,<,<=). d) Implement the insertion operator overload function (<<).
e) Implement the extraction operator overload function (>>).
f) Implement the subscript operator overload function ([]).
Make sure that each function is optimally overloaded for its purpose. (pick between member, non-member, friend as appropriate)
Notes
Add Rational Numbers
Given a/b + c/d:
Step 1: Find the LCM of b and d.
Step 2: Create a new Rational Number: ((a*(LCM/b) + (c*(LCM/d)) / LCM. Step 3: Reduce the new Rational Number from step 2.
Step 4: Return the new Rational Number.
Subtract Rational Numbers
Given a/b - c/d:
Step 1: Find the LCM of b and d.
Step 2: Create a new Rational Number: ((a*(LCM/b) - (c*(LCM/d)) / LCM.
Step 3: Reduce the new Rational Number from step 2
Step 4: Return the new Rational Number.
Multiply Rational Numbers
Given a/b * c/d:
Step 1: Create a new Rational Number: (a*c) / (b*d).
Step 2: Return the new Rational Number.
Divide Rational Numbers
Given a/b / c/d:
Step 1: Create a new Rational Number: (a*d) / (b*c).
Step 2: Return the new Rational Number.
Compare Rational Numbers: greater than
Determine if a/b > c/d:
Step 1: Find the LCM of b and d.
Step 2: If (a* (LCM/b) > (c* (LCM/d) return true, otherwise false.
Compare Rational Numbers: less than
Determine if a/b < c/d:
Step 1: Find the LCM of b and d
Step 2: If (a*(LCM/b) < (c* (LCM/d) return true, otherwise false.
Use following main function to test your program. (have to use this main function)
int main ~
cout << endl;
RatNum r1(1,2), r2(1,6), r3(2,5);
// test operator overloads
cout << "\nInput/Output Stream Operators: " << endi;
RatNum r4;
cout << "Enter a rational number: "
cin >> r4:
cout << r4 << endi;
cout << "Negation Operation: " << endi;
cout <<-r4 << endl:
// test arithmetic overloads
cout << "\nArithmetic Operators: " <<endl;
RatNum r5 = r1 + r2;
cout << r1 <<"+ "< r2 << "= "'<< r5 << endI;
RatNum r6 = r1 - r2;
cout << r1 <<"-"<< r2 << " = "«< r6 << endi:
RatNum r7 =r1 * r2l;
cout << r1 <<" «< r2 << "= " << r7 << endI;
RatNum r8 = r1 / r2;
cout<<r1<<"/"<<r2<< "="<<r8<<endl;
// test arithmetic operation chaining
cout << "\nArithmetic Chaining: " << endl;
RatNum r9 = r5 + r6 - r7 * r8;
cout<<r5<< "+"<<r6<<"-"<<r7<<"*"<<r8<<"="<<r9<<endl;
// test relational operator overload
cout << "\nRelational Operators: " << endl;
cout << r5 << " == " << r6 << "? " << (r5==r6) << endl; cout << r5 << " != " << r6 << "? " << (r5!=r6) << endl; cout << r5 << " > " << r6 << "? " << (r5>r6) << endl; cout << r5 << " < " << r6 << "? " << (r5<r6) << endl;
// test subscript overload
cout << "\nSubscript Operator: " << endl;
cout << r5 << " num=" << r5[1] << " den=" << r5[2] << endl; cout << endl;
return 0;
}


Trending nowThis is a popular solution!
Step by stepSolved in 3 steps with 1 images

- plz help with c++....and keep output same as given and paste indented code plzzarrow_forwardC++ PLEASE WRITE FULL FUNCTION DEFINITION for THE FUNCTION IN PART B Given the Class Definition for ClockType discussed extensively in class, write what would have to be added to the IMPLEMENTATION FILE for the Class ClockType to overload the “= =”, i.e., the comparison “equal-equal sign,” here: That is, write the FULL FUNCTION DEFINITION for THE FUNCTION associated with Class ClockType to overload the “= =” remembering the private members are: b) int hr; // that contains the hours int min; // that contains the minutes int sec; // that contains the secondsarrow_forwardC+++ I need help filling in missing/needed code to to do the following: Read two doubles as the forceApplied and the contactArea of a BallObject object. Declare and assign pointer myBallObject with a new BallObject object using the forceApplied and the contactArea as arguments in that order. Then call myBallObject's IncreaseForceAppliedAndContactArea() member function. Ex: If the input is 3.0 2.5, then the output is: #include <iostream>#include <iomanip>using namespace std; class BallObject { public: BallObject(double forceAppliedValue, double contactAreaValue); void IncreaseForceAppliedAndContactArea(); void Print(); private: double forceApplied; double contactArea;};BallObject::BallObject(double forceAppliedValue, double contactAreaValue) { forceApplied = forceAppliedValue; contactArea = contactAreaValue;}void BallObject::IncreaseForceAppliedAndContactArea() { forceApplied = forceApplied * 5.0; contactArea = contactArea * 5.0;…arrow_forward
- Consider the following function definition.void mystery(int* x){// function body } Inside the definition of mystery, the C++ language provides a way to distinguish if x points to a lone int value or to an int allocated as part of a larger array.A. True B. Falsearrow_forwardConsider the function definition: void GetNums(int howMany, float& alpha, float& beta) { int i; beta = 0; for (i = 0; i < howMany; i++) { beta = alpha + beta; } } Describe what happens in MEMORY when the GetNums function is called.arrow_forward
- Database System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- C How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education





