题目描述

假设你正在编写一个简单的图形绘制程序,你需要设计一个基类Shape表示所有形状,包括圆形和矩形。请定义Shape类,并添加两个子类Circle和Rectangle,分别表示圆形和矩形。

每个形状都有一个名字,可以通过getName()方法获取。每个形状都可以计算其面积,可以通过getArea()方法获取。请使用多态来实现这些功能。


输入格式

三个double,分别表示圆形的半径和矩形的长和宽,测试数据保证均为正数


输出格式

两行,表示两种Shape的名称和面积


样例数据

输入

2 3 4
4 5 6

输出

Circle area = 12.56
Rectangle area = 12
Circle area = 50.24
Rectangle area = 30

备注

圆形的面积公式为πr²,矩形的面积公式为w×h,π直接取3.14。
main function:

int main() {
    double r, l, w;
    while(cin>>r>>l>>w){
        Shape* s1 = new Circle(r);
        Shape* s2 = new Rectangle(l, w);
        cout << s1->getName() << " area = " << s1->getArea() << endl;
        cout << s2->getName() << " area = " << s2->getArea() << endl;
    }
    return 0;
}

操作

评测记录

优秀代码

信息

时间限制: 1s
内存限制: 128MB
评测模式: Normal

题解