#1381. 求面积和周长

求面积和周长

说明

声明一个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

来源

教学题-C++面向对象