![](https://cos-cdn.shuashuati.com/pipixue-wap/2020-1230-1107-56/ti_inject-812ce.png)
随着信息技术的不断发展,用户需求的不断提高,计算机软件也在日益更新。新的软件不仅要提供新的功能,还要向下兼容旧软件的所有功能。 Geometry 软件最初设计用于计算二维图形的几何信息。例如: Geometry 软件中的 Circle 模块用于计算圆形的几何信息。 Circle 模块由如下类进行表示: 圆形类 Circle 的定义: (1) 保护数据成员:圆形的半径 (double radius) ; (2) 构造函数: Circle (double _radius) ,对圆形的半径进行初始化; (3) 虚成员函数: virtual double area() const ,计算圆形的面积。 随着三维图形的广泛应用, Geometry 软件将 Circle 模块分别升级成 Ball 模块和 Cylinder 模块,分别用于计算球体和圆柱体的几何信息。 Ball 模块和 Cylinder 模块分别由如下类进行表示: 球体类 Ball 的定义: 公有继承 Circle 类 (1) 构造函数: Ball (double _radius) ,对球体的半径进行初始化; (2) 成员函数: double area() const ,派生类重新实现基类的虚函数,计算球体的表面积; (3) 成员函数: double volume() const ,计算球体的体积。 圆柱体类 Cylinder 的定义: 公有继承 Circle 类 (1) 保护数据成员:圆柱体的高度 (double height) ; (2) 构造函数: Cylinder (double _radius, double _height) ,对圆柱体的半径和高度进行初始化; (3) 成员函数: double area() const ,派生类重新实现基类的虚函数,计算圆柱体的表面积; (4) 成员函数: double volume() const ,计算圆柱体的体积。 通过以下测试 Geometry 软件的兼容性和可扩展性: int main() { Ball ball(13.14); Cylinder cylinder(13.14, 20); Circle *base = &ball; cout<<“ 球体表面积: ”<
area()<
volume()<
area()<
volume()<