I need a c++ code for the assignment #13 (pure abstract base class). it is conti
ID: 3721829 • Letter: I
Question
I need a c++ code for the assignment #13 (pure abstract base class). it is continued in the next picture. Don't forget it has to accept values for the various shapes. Thanks!
Explanation / Answer
#include<bits/stdc++.h>
using namespace std;
class BasicShape{
private:
double area; //stores the shape's area
public:
double getArea(){ //returns the value stored in area variable
return area;
}
void setArea(double area){
this->area = area;
}
virtual void calcArea() = 0; //pure virtual function, this makes the class abstract class
};
class Circle : public BasicShape {
private:
long int centerX, centerY; //stores the coordinates of the center of the circle
double radius;//stores the radius of the circle
public:
Circle(long int centerX, long int centerY, double radius) { //constructs a rectangle
this->centerX = centerX;
this->centerY = centerY;
this->radius = radius;
calcArea();
}
void calcArea(){ //computes the area of the circle using the given formula
setArea(3.14159 * radius * radius);
}
};
class Rectangle : public BasicShape {
private:
long int width, length; //stores the dimensions of the rectangle
public:
Rectangle(long int width, long int length) { //constructs a rectangle
this->width = width;
this->length = length;
calcArea();
}
long int getWidth(){//outputs the width of the rectangle
return width;
}
long int getLength(){//outputs the length of the rectangle
return length;
}
void calcArea(){//computes the area of the rectangle
setArea(double(width * length));
}
};
int main() {
long int centerXCircle, centerYCircle;
double radiusCircle;
printf("Enter the center coordinates of the Circle: ");
scanf("%ld%ld",¢erXCircle, ¢erYCircle); //scan rectangle's dimensions
printf("Enter the radius of the Circle: ");
scanf("%lf",&radiusCircle);
Circle C = Circle(centerXCircle, centerYCircle, radiusCircle); // construct the circle
printf("Area of the circle is %lf ",C.getArea());
long int rectangleLength, rectangleWidth;
printf("Enter the length and width of the Rectangle: ");
scanf("%ld%ld",&rectangleLength, &rectangleWidth); //scan rectangle's dimensions
Rectangle R = Rectangle(rectangleLength, rectangleWidth); //construct the rectangle
printf("Area of the rectangle is %lf ",R.getArea());
return 0;
}
Related Questions
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.