6-1 Shape抽象类 (30分)
已知抽象类类Shape定义如下,其中两个纯虚函数分别为计算面积getArea()和计算周长getPerim()。请通过Shape类派生出矩形类Rectangle和圆类Circle,计算各自的面积和周长,并能够按照main函数给出的测试代码完成给定的输入。
Shape类定义及测试程序如下:
#include <iostream>
using namespace std;
const double PI=3.14;
class Shape {
public:
virtual double getArea()=0;
virtual double getPerim()=0;
};
/*请在这里输入你的代码*/
int main(){
double r,l,w;
cin>>r;
cin>>l>>w;
Shape *p=NULL;
p=new Circle(r);
print(p);//输出圆面积与周长
p=new Rectangle(l,w);
print(p);//输出矩形面积与周长
return 0;
}
输入样例:
1 2 3
输出样例:
Area:3.14
Perimeter:6.28
Area:6
Perimeter:10
代码实例:
class Circle:public Shape
{
private:
double r;
public:
Circle(double r_):r(r_)
{
}
double getArea(){
return 3.14*r*r;
}
double getPerim(){
return 2*