AKOJ正在加载中...

6818: 求面积和周长

金币值:2 定数:1 时间限制:1.000 s 内存限制:128 M
正确:1 提交:1 正确率:100.00% 命题人:
点赞量:0 收藏量:0 题目类型:程序 知识点: 教学题-C++面向对象

题目描述

声明一个Shape抽象类,在此基础上派生出矩形Rectangle和圆Circle类,二者都有GetArea( )函数计算对象的面积,GetPerim( )函数计算对象的周长。完成类的设计,其中PI取3.14159,要求不能修改主函数。

int main(){
 double radius;//圆半径
 double a,b;//矩形长和宽
 cin>>radius>>a>>b;
 Circle c(radius);
 Rectangle rect(a,b);
 Shape* pShapeArray[]={&c,&rect};
 for (int i=0;i<2;i++){
  cout<<"perimeter:"<<pShapeArray[i]->GetPerim( )<<endl;
  cout<<"area:"<<pShapeArray[i]->GetArea()<<endl;
 }
 return 0;
}

输入格式

输入2行,第1行输入圆的半径,第2行输入矩形的长和宽。

输出格式

输出圆和矩形的周长与面积。

输入样例    复制

1
2 3

输出样例    复制

perimeter:6.28318
area:3.14159
perimeter:10
area:6