Question

Description There are 4 classes, Figure is the base class,both Triangle, Rectangle and Circle are all...

Description

There are 4 classes, Figure is the base class,both Triangle, Rectangle and Circle are all inherited from it. Figure class is like following:

class FIGURE {
public:
    void set_size(double x, double y = 0);
    virtual double get_area() = 0;  
protected:
    double x_size, y_size;
};

You should implement Figure, Triangle, Rectange, Circle class.

Output

Area of triangle is 60
Area of rectangle is 120
Area of circle is 706.858

//Figure.h

#ifndef FIGURE_H
#define FIGURE_H
const double PI = 3.14159;

class FIGURE
{
public:
void set_size(double x, double y = 0);
virtual double get_area() = 0;
protected:
double x_size, y_size;
};

#endif

//main.cpp

#include "Figure.h"
#include "Triangle.h"
#include "Rectangel.h"
#include "Circle.h"
#include <iostream>
using namespace std;

int main()
{
TRIANGLE triangle;     
RECTANGLE rectangle;      
CIRCLE circle;          

// 处理三角形
triangle.set_size(15, 8);   // 设置三角形的底和高
cout << "Area of triangle is " << triangle.get_area() << "\n";
  
// 处理矩形
rectangle.set_size(15, 8);   // 设置矩形的长和宽
cout << "Area of rectangle is " << rectangle.get_area() << "\n";
  
// 处理圆
circle.set_size(15);       // 设置圆的半径
cout << "Area of circle is " << circle.get_area() << "\n";
  
return 0;
}

Need to write: Figure.cpp, Triangle.h, Rectangle.h, Circle.h files

Above code can't be changed

0 0
Add a comment Improve this question Transcribed image text
Answer #1

Figure.cpp

#include<iostream>
using namespace std;

// parent class figure
class FIGURE {
public:
void set_size(double x, double y = 0);
virtual double get_area() = 0;
protected:
double x_size, y_size; // data members
};

// child class inherited from class Figure
class TRIANGLE:public FIGURE
{
   public:
   void set_size(double x, double y = 0)
   {
       x_size=x;
       y_size=y;
   }
   double get_area()
   {
       return x_size*y_size/2;
   }
};

// child class inherited from class Figure
class RECTANGLE:public FIGURE
{
   public:
   void set_size(double x, double y = 0)
   {
       x_size=x;
       y_size=y;
   }
   double get_area()
   {
       return x_size*y_size;
   }
};

// child class inherited from class Figure
class CIRCLE:public FIGURE
{
   public:
   void set_size(double x, double y = 0)
   {
       x_size=x;
   }
   double get_area()
   {
       return 3.14*x_size*x_size;
   }
};

int main()
{
   // creating object of TRIANGLE class
   TRIANGLE triangle;
   // creating object of RECTANGLE class
   RECTANGLE rectangle;   
   // creating object of CIRCLE class   
   CIRCLE circle;   
     
   triangle.set_size(15, 8); // 60
   cout << "Area of triangle is " << triangle.get_area() << "\n";
   rectangle.set_size(15, 8); // 120
   cout << "Area of rectangle is " << rectangle.get_area() << "\n";
   circle.set_size(15); // 706.5
   cout << "Area of circle is " << circle.get_area() << "\n";
  
   return 0;
}


Output

Add a comment
Know the answer?
Add Answer to:
Description There are 4 classes, Figure is the base class,both Triangle, Rectangle and Circle are all...
Your Answer:

Post as a guest

Your Name:

What's your source?

Earn Coins

Coins can be redeemed for fabulous gifts.

Not the answer you're looking for? Ask your own homework help question. Our experts will answer your question WITHIN MINUTES for Free.
Similar Homework Help Questions
ADVERTISEMENT
Free Homework Help App
Download From Google Play
Scan Your Homework
to Get Instant Free Answers
Need Online Homework Help?
Ask a Question
Get Answers For Free
Most questions answered within 3 hours.
ADVERTISEMENT
ADVERTISEMENT
ADVERTISEMENT