Develop a menu driven program to input the sides and calculate the perimeter and area of a triangle, square, rectangle, pentagon, and polygon. The application should close on selecting the Exit option.
Define a C++ abstract class named shape. The class will have attributes for the sides of the shape. The class will also need the accessor method getSide that returns the sides of the shape. The class also needs one mutator method called setSides which will set the sides of the shape. The setSides method should return a Boolean value indicating if the set was successful or not and update the sides accordingly. (You cannot have a 0 or negative side.)
You will need to do the class declaration in a header(.h) file and the class implementation in the .cpp file.
Also add two more methods in the class namely getArea and getPerimeter to calculate the area and perimeter of the shape. Define a method Display() for this class to print the sides of the shape on the screen.
Make this class generic so that the sides of the shape may be integer or float.
Use the abstract class shape to define TwoD shape and add all the functionalities to the methods.
Define the instances triangle, square and rectangle in the driver class to test the functionality of the TwoD class you have extended from the shape class.
Define a new class ThreeD extended from ThreeD class. The constructor of ThreeD class should call constructor of TwoD class, and also the print method should call the Display() of the super class. Override the functions getArea and getPerimeter to work with the new formula. The ThreeD class will represent instances of ThreeD class as a cube and a box.