《中山大学上机实践题及参考答案》是一本专为中山大学计算机相关专业学生设计的学习资料,包含丰富的编程练习和详尽解答,旨在帮助学生巩固理论知识、提升实际操作能力。
样题1. 下列Shape类是一个表示形状的抽象基类,其中包含一个纯虚函数Area()用于计算图形面积,还有一个通用函数Total()用来求不同形状图形的总面积。
请从Shape类派生出三角形类(triangle)和矩形类(rectangle),并为这两个子类实现具体的求面积方法。编写程序验证这些求面积功能是否正确。
给出的相关定义如下:
```
class Shape {
public:
virtual float area() = 0;
};
float total(Shape* s[], int n) {
float sum = 0.0;
for (int i = 0; i < n; ++i)
sum += s[i]->area();
return sum;
}
```