C++       Shape is an abstract class with a pure virtual function: Area(). (2) Circle is inherited from Shape, with a data member Radius, and a member function Area() to get the area of a circle. (3) Triangle is inherited from Shape, with two data members Bottom-length and Height, and a member function Area() to get the area of a triangle.       Please complete the definition of Shape, Circle and Triangle, and define other necessary functions, to let a user can use Shape, Circle and Triangle as follows:       void main( )       {            Shape* p = new Circle(2);            cout << "The area of the circle is: " << PrintArea(*p) << endl;            Triangle triangle (3,4);            cout << "The area of the triangle is: " << PrintArea(triangle) << endl;       delete p;       }       The outputs:            The area of the circle is: 12.56       The area of the triangle is: 6       //Your codes with necessary explanations:               My code:       #include   using namespace std;   class Shape   {    public:    double area;     virtual void Area() = 0;     void PrintArea();   };   class Triangle : public Shape   {     double Bottom_length, Height;    public:     Triangle(double l, double h)     {     Bottom_length=l;       Height = h;     }     void Area()     {      area= 0.5* Bottom_length*Height;     }     void PrintArea(){         cout<

C++ Programming: From Problem Analysis to Program Design
8th Edition
ISBN:9781337102087
Author:D. S. Malik
Publisher:D. S. Malik
Chapter10: Classes And Data Abstraction
Section: Chapter Questions
Problem 28SA
icon
Related questions
Question

C++

 

 

 

Shape is an abstract class with a pure virtual function: Area(). (2) Circle is inherited from Shape, with a data member Radius, and a member function Area() to get the area of a circle. (3) Triangle is inherited from Shape, with two data members Bottom-length and Height, and a member function Area() to get the area of a triangle.

 

 

 

Please complete the definition of Shape, Circle and Triangle, and define other necessary functions, to let a user can use Shape, Circle and Triangle as follows:

 

 

 

void main( )

 

 

 

{

 

 

 

     Shape* p = new Circle(2);

 

 

 

     cout << "The area of the circle is: " << PrintArea(*p) << endl;

 

 

 

     Triangle triangle (3,4);

 

 

 

     cout << "The area of the triangle is: " << PrintArea(triangle) << endl;

 

 

 

delete p;

 

 

 

}

 

 

 

The outputs:

 

 

 

     The area of the circle is: 12.56

 

 

 

The area of the triangle is: 6

 

 

 

//Your codes with necessary explanations:

 

 

 

 

 

 

 

My code:

 

 

 

#include <iostream>

 

using namespace std;

 

class Shape

 

{

 

 public:

 

 double area;

 

  virtual void Area() = 0;

 

  void PrintArea();

 

};

 

class Triangle : public Shape

 

{

 

  double Bottom_length, Height;

 

 public:

 

  Triangle(double l, double h)

 

  {

 

  Bottom_length=l;

 

    Height = h;

 

  }

 

  void Area()

 

  {

 

   area= 0.5* Bottom_length*Height;

 

  }

 

  void PrintArea(){

 

      cout<<area;

 

}

 

};

 

class Circle : public Shape

 

{

 

  double Radius;

 

public:

 

 Circle(double r)

 

 {

 

   Radius=r;

 

 }

 

 void Area(){

 

   area=3.14*Radius*Radius;

 

 }

 

 void PrintArea(){

 

   cout<<area;

 

 }

 

};

 

 

 Void main()

 

{

 

 Shape* p = new Circle(2);

 

 

 

     cout << "The area of the circle is: " << PrintArea(*p) << endl;

 

 

 

     Triangle triangle (3,4);

 

 

 

     cout << "The area of the triangle is: " << PrintArea(triangle) << endl;

 

 

 

delete p;

 

}

 

 

 

 

 

 

 

Please remove errors and run this code

Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 3 images

Blurred answer
Knowledge Booster
Class
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
  • SEE MORE QUESTIONS
Recommended textbooks for you
C++ Programming: From Problem Analysis to Program…
C++ Programming: From Problem Analysis to Program…
Computer Science
ISBN:
9781337102087
Author:
D. S. Malik
Publisher:
Cengage Learning