Question: Define a pure abstract base class called BasicShape . *Pre-requisite 15.6 Polymorphism and Virtual Member Functions 15.7 Abstract Base Classes and Pure Virtual Functions The

Define a pure abstract base class called BasicShape.

*Pre-requisite

  • 15.6 Polymorphism and Virtual Member Functions
  • 15.7 Abstract Base Classes and Pure Virtual Functions

The BasicShape class should have the following members:

Private Member Variable:

  • area, a double used to hold the shape's area.

Public Member Functions:

  • getArea. This function should return the value in the member variable area.
  • calcArea. This function must be a pure virtual function.

Next, define a class named Circle. It should be derived from the BasicShape class. It should have the following members:

Private Member Variables:

  • centerX, a long integer used to hold the x coordinate of the circles center.
  • centerY, a long integer used to hold the y coordinate of the circles center.
  • radius, a double used to hold the circle's radius.

Public Member Functions:

  • constructoraccepts values for centerX, centerY, and radius. Should call the overridden calcArea function described below.
  • getCenterXreturns the value in centerX.
  • getCenterYreturns the value in centerY.
  • calcAreacalculates the area of the circle (area = 3.14159 * radius * radius) and stores the result in the inherited member area.

Next, define a class named Rectangle. It should be derived from the BasicShape class. It should have the following members:

Private Member Variables:

  • width, a long integer used to hold the width of the rectangle.
  • length, a long integer used to hold the length of the rectangle.

Public Member Functions:

  • constructoraccepts values for width and length. Should call the overridden calcArea function described below.
  • getWidthreturns the value in width.
  • getLengthreturns the value in length.
  • calcAreacalculates the area of the rectangle (area = length * width) and stores the result in the inherited member area.

After you have created these classes, use the provided driver program below that defines a Circle object and a Rectangle object. Demonstrate that each object properly calculates and reports its area.

Define a pure abstract base class called BasicShape. *Pre-requisite 15.6 Polymorphism andSample Test Run

Virtual Member Functions 15.7 Abstract Base Classes and Pure Virtual Functions The

Submit

  1. source code in text
  2. valid test run result in text

PLS FOLLOW ALL REQUIREMENTS, PLS INCLUDE ALL THE MEMBERS NEEDED AND FOLLOW THE FUNCTIONS AND VARIABLES AND ALSO USE THE DRIVER PROGRAM CODE THAT DEFINES A CIRCLE OBJECT AND A RECTANGLE OBJECT GIVEN ABOVE.

FEEL FREE TO ASK ME ANY QUESTIONS AND CONCERNS THAT ARE UNCLEAR. THANK YOU

#include #include "Circle.h" // in this example code, BasicShape Class is located in this Circle.h file. #include "Rectangle.h" using namespace std; int main() { long x, y, length, width; double rad; cout > X >> y; ; cout > rad; Circle c(x,y,rad); cout > width >> length; Rectangle r(width, length); cout

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!