. #include #include using namespace std; class geofig { protected: double side1, side2; public: void getdata() { cout << "Enter the sides of the figure: "; cin >> side1 >> side2; } virtual void display() { cout << "Sides: " << side1 << " and " << side2 << endl; } }; class rect : public geofig { public: void display() override { cout << "Rectangle - "; geofig::display(); cout << "Area: " << side1 * side2 << endl; } }; class tri : public geofig { public: void display() override { cout << "Triangle - "; geofig::display(); double s = (side1 + side2) / 2.0; double area = sqrt(s * (s - side1) * (s - side2)); cout << "Area: " << area << endl; } }; int main() { int choice; geofig* figure; cout << "Choose a figure: \n"; cout << "1. Rectangle\n"; cout << "2. Triangle\n"; cout << "Enter your choice (1 or 2): "; cin >> choice; switch (choice) { case 1: figure = new rect(); break; case 2: figure = new tri(); break; default: cout << "Invalid choice!\n"; return 1; } figure->getdata(); figure->display(); delete figure; return 0; }