Answer:
To implement the classes and program as described, you could use the following C++ code:
#include <iostream>
#include <cmath>
using namespace std;
class Shape {
protected:
double a;
double b;
public:
virtual void get_data() {
cout << "Enter the value of a: ";
cin >> a;
cout << "Enter the value of b: ";
cin >> b;
}
virtual void display_area() {
cout << "The area is: " << endl;
}
};
class Triangle : public Shape {
public:
void get_data() {
cout << "Enter the base of the triangle: ";
cin >> a;
cout << "Enter the height of the triangle: ";
cin >> b;
}
void display_area() {
cout << "The area of the triangle is: " << 0.5 * a * b << endl;
}
};
class Rectangle : public Shape {
public:
void get_data() {
cout << "Enter the length of the rectangle: ";
cin >> a;
cout << "Enter the width of the rectangle: ";
cin >> b;
}
void display_area() {
cout << "The area of the rectangle is: " << a * b << endl;
}
};
class Circle : public Shape {
public:
void get_data() {
cout << "Enter the radius of the circle: ";
cin >> a;
b = 0;
}
void display_area() {
cout << "The area of the circle is: " << 3.14 * a * a << endl;
}
};
int main() {
Shape *s;
Triangle t;
Rectangle r;
Circle c;
s = &t;
s->get_data();
s->display_area();
s = &r;
s->get_data();
s->display_area();
s = &c;
s->get_data();
s->display_area();
return 0;
}
This code defines the base class Shape with variables a and b to represent the dimensions of the shape. It also defines a virtual function get_data() to get the input for the dimensions, and a virtual function display_area() to compute and display the area of the shape.
The derived classes Triangle, Rectangle, and Circle override the get_data() and display_area()
Step-by-step explanation: