Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Project: Pure Abstract Base class Define a pure abstract base class called Basic

ID: 3633568 • Letter: P

Question

Project: Pure Abstract Base class
Define a pure abstract base class called BasicShape. 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 should 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 circle’s center.
centerY A long integer used to hold the y coordinate of the circle’s center
radius A double used to hold the circle’s radius.
Public Member Functions:
constructor Accepts values for centerX, centerY and radius. Should call the overridden calcArea function described below.
getCenterX return the value of centerX
getCenterY return the value of centerY
calcArea calculates 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:
constructor accepts values for width and length. Should call the overridden calcArea function described below.
getWidth returns the value in width.
getLengh returns the value in length.
calcArea calculates the area of the rectangle (area = length * width) and stores the result in the inherited member area.
After you have created these classes, create a driver program that defines a Circle object and a Rectangle object. Demonstrate in this driver program that each object properly calculates and reports its area.

Explanation / Answer

#include #include #include class BasicShape { public: double area; public: double getArea() { return area; } virtual void calcArea()=0; }; class circle:public BasicShape { private: long int centerX; long int centerY; double radius; public: circle(long int x,long int y,double r) { centerX=x; centerY=y; radius=r; } long int getX() { return centerX; } long int getY() { return centerY; } void calcArea() { area=3.1419*radius*radius; cout