下列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;
}
};