搜题
问题   更新时间2023/4/3 12:59:00

下列Shape类是一个表示形状的抽象类,area( )为求图形面积的函数,total( )则是一个通用的用以求不同形状的图形面积总和的函数。
class Shape {
public:virtual double area()=0;
};
double total(Shape *s[ ], int n) {
double sum=0.0;

for(int i=0; i
sum+=s[i]->area( );

return sum; }

要求:

(1)从Shape类派生圆类(Circle)、正方形类(Square),圆类新增数据成员半径(radius),正方形类新增数据成员边长(a),圆类和正方形类都有构造函数,修改、显示数据成员值的函数,求面积函数。

(2)写出main()函数,计算半径为5.5的圆和边长为9.9的正方形的面积和(必须通过调用total函数计算)

(本题3.0分)

标准答案: 解:class Circle:public Shape {public: Circle(double r){radius=r;} void set() { cout<<"Please input the value of the circle:"<>radius; } void show() { cout<<"the radius of the circle="<a=a;} void set() { cout<<"Please input the value of a:"<>a; } void show() { cout<<"a="<

出自:青书学堂 >> 河南工业大学面向对象程序设计(专升本)

王老师:19139051760(拨打)