6-2 求平面几何形状的面积(圆形和矩形)C++ (5 分)

下列shape类是一个表示形状的基类,该类有一个计算形状面积的方法area( )。请以形状类"Shape"为基类派生出圆形类"Circle"和矩形类"Rectangle",要求保持求面积的接口不变。从键盘输入圆形的半径和矩形的长和宽,在主函数中创建一个圆形类"Circle"的对象和一个矩形类"Rectangle"的对象,计算并输出这个圆形和矩形的面积。圆周率PI=3.14

class shape{

public:

double area( ){ }

};

圆形类名:Circle 注意:圆周率PI=3.14
矩形类名:Rectangle
裁判测试程序样例:

#include <iostream>
using namespace std;
class Shape{
public:
    double area ( ){ return -1; }
};
//你提交的代码将嵌入到这里。 

int main()
{
    double r,h,w;
    cin>>r>>h>>w;
    Circle c(r); Rectangle rect(h,w);

    cout<<"The area of the Circle is "<<c.area( )<<endl;
    cout<<"The area of the Rectangle is "<<rect.area( )<<endl;

    return 0;
}

输入样例:、

8.8
16.8  9.8

输出样例:

The area of the Circle is 243.162
The area of the Rectangle is 164.64

代码

const double PI=3.14;
class Circle:public Shape{
  private:
    double r;
  public:
    Circle(double a)
    { r=a;}
    double area()
    {
      return PI*r*r;
    }
};
class Rectangle:public Shape{
  private:
    double len,wid;
  public:
    Rectangle(double b,double c)
    {
      wid=b;  len=c;
    }
    double area()
    {
      return len*wid;
    }
};

上一篇:Go 语言接口详解(二)


下一篇:还在为 520 发愁吗?教你用 Python 写个表白神器!