声明类Shape以及它的3个派生类:Circle、Square、Rectangle, 用虚函数分别计算几种图形的面积、周长,编写程序,建立基 类指针数组,每个指针均指向一个派生类对象,利用基类指针 遍历元素对象,求取所有图形面积之和。请绘制UML类图
时间: 2024-02-25 10:55:54 浏览: 77
c++ 形状类Shape(派生出圆类Circle和矩形类Rectangle)
以下是UML类图:
```
+----------------+ +------------------+
| Shape | | Circle |
+----------------+ +------------------+
| -radius: float| | -radius: float |
+----------------+ +------------------+
| +area(): float | | +area(): float |
| +perimeter(): float| | +perimeter(): float|
+----------------+ +------------------+
^ ^
| |
+----------------+ +------------------+
| Square | | Rectangle |
+----------------+ +------------------+
| -sideLen: float| | -length: float |
+----------------+ | -width: float |
|+area(): float | +------------------+
|+perimeter(): float| | +area(): float |
+----------------+ | +perimeter(): float|
+------------------+
```
在程序中,可以先创建一个Shape类的指针数组,然后分别将Circle、Square和Rectangle类的对象指针赋值给数组元素。接着,利用多态性,通过指向基类的指针遍历数组元素,调用每个图形对象的面积函数,并将其累加到总面积中。最后输出总面积即可。
阅读全文