Please Note: This program is in C++
and also, create the header file, implementation and driver file seperately
Problem Statement
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 shoudl 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 vaues for centerX, centerY, and radius. Should call the overridden calcArea function described below.
getCenterX - returns the value of centerX.
getCenterY - returns 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 be derived from teh BasicShape class. It should have teh 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 teh overridden calcArea function described below.
getWidth - return the value in width.
getLength - returns the value in length.
calcArea - calculates teh area of teh 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 that each object properly calculates and reports its area.