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