
Concept explainers
Create a class Rational for performing arithmetic with fractions.
Write a driver
enables an object of this class to be initialized when it is
instantiated. The constructor should contain default values in case
no initializes are provided and should store the fraction in reduced
form. Provide a private function to reduce numbers.
Provide Public member functions for each of the following
arithmatic’s functions (addition – subtraction – multiplication –
division), printing in the form a/b, printing in floating point format
and final overload the == and != operators to allow comparisons of
two fraction numbers.
Include any additional operations that you think would be useful for
a rational number class.
Design, implement, and test your class.

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

- Hello, I am having trouble with this homework question for my c++ course. Implement a Rational Number class with the following specifications. Data members a) numerator and denominator Functions a) Constructors: 1) default constructor 2) single parameter constructor to create numerator/1 3) dual parameter constructor to create numerator/denominator 4) Use constructor delegation across all constructors. b) Accessors and Mutators for both data members. c) Static recursive GCD function using Euclid's algorithm. d) Static LCM function for two numbers. e) Reduce function simplify a rational number. This function modifies its calling object. f) Your program should work with the supplied driver program. Notes LCM (Least Common Multiple) This function returns the smallest multiple of a and b. Step 1: Multiply a and b to find a common multiple. Step 2: Divide the common multiple by the GCD of a and b. Step 3: Return the result of Step 2. Reduce: This function reduces a fraction to…arrow_forwardUsing C++ and Visual Studios Using your own creativity, make a set of class templates that have these features: For this class template, put everything in one place--do not declare the member functions and have separate definition of the member functions elsewhere. Keep them in one place. Include a private variable. Include a constructor that loads the private variable when constructed. Include a destructor that clears the private variable to zero. Include set and get functions to set and get the private variable.arrow_forwardUsing C++ and Visual Studios Using your own creativity, make a set of class templates that have these features: For this class template, put everything in one place--do not declare the member functions and have separate definition of the member functions elsewhere. Keep them in one place. Include a private variable. Include a constructor that loads the private variable when constructed. Include a destructor that clears the private variable to zero. Include set and get functions to set and get the private variable.arrow_forward
- Please solve in C++ You are given the following files: main.cpp Classes.h Classes.cpp The current implementation outputs: Shape Colour: Red Shape Area: 0 Shape Colour: Blue Shape Area: 0 Change the code to use polymorphism and virtual functions to enable overriding of the Area function of the base class Shape to use the Area function of derived class Circle or Rectangle depending on the type of the object. The code should output: Shape Colour: Red Shape Area: 78.5397 Shape Colour: Blue Shape Area: 24 main.cpp #include <iostream>#include <vector>#include "Classes.h" int main() {std::string red = "Red";std::string blue = "Blue";Circle circle(red, 5.0);Rectangle rectangle(blue, 4.0, 6.0); std::vector<Shape*> shapes;shapes.push_back(&circle);shapes.push_back(&rectangle); for (Shape* shape : shapes) {std::cout << "Shape Colour: " << shape->GetColour() << std::endl;std::cout << "Shape Area: " << shape->Area() <<…arrow_forward(2) Your member functions will be: Make sure that the mutators for height and width only take positive numbers! Test your class with the driver program given below. //--- Test driver for class Rectangle #include using namespace std; setHeight (int h): mutator for height variable setWidth (int w): mutator for width variable setDimensions (int h, int w): sets both height and width getArea (): returns the area of the rectangle getPerimeter () returns the perimeter of the rectangle print (): prints a rectangle with your dimensions composed of asterisks (3) Create a default constructor that sets the default values of Rectangle class to 1. int main() { Rectangle rec rec2; recl.setHeight (10); recl.setWidth (20); Page rec2.setDimensions (5, 10); cout of 2 ZOOM +arrow_forwardUse C++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





