注意:此页面搜索的是所有试题
下列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<n; i++)

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

return sum; }

要求:

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

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

(本题3.0分)

参考答案