Database System Concepts
Database System Concepts
7th Edition
ISBN: 9780078022159
Author: Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher: McGraw-Hill Education
Bartleby Related Questions Icon

Related questions

bartleby

Concept explainers

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
Check Mark
Knowledge Booster
Background pattern image
Computer Science
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
Recommended textbooks for you
Text book image
Database System Concepts
Computer Science
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:McGraw-Hill Education
Text book image
Starting Out with Python (4th Edition)
Computer Science
ISBN:9780134444321
Author:Tony Gaddis
Publisher:PEARSON
Text book image
Digital Fundamentals (11th Edition)
Computer Science
ISBN:9780132737968
Author:Thomas L. Floyd
Publisher:PEARSON
Text book image
C How to Program (8th Edition)
Computer Science
ISBN:9780133976892
Author:Paul J. Deitel, Harvey Deitel
Publisher:PEARSON
Text book image
Database Systems: Design, Implementation, & Manag...
Computer Science
ISBN:9781337627900
Author:Carlos Coronel, Steven Morris
Publisher:Cengage Learning
Text book image
Programmable Logic Controllers
Computer Science
ISBN:9780073373843
Author:Frank D. Petruzella
Publisher:McGraw-Hill Education