#850. 求面积和周长

    ID: 850 传统题 1000ms 128MiB 尝试: 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