double total(Shape* s[], int n) { double sum = 0.0; for (int i = 0; i < n; i++) { sum += s[i]->area(); } return sum; }其中Shape* s[]什么意思
时间: 2023-12-04 22:04:19 浏览: 109
Keil MDK-ARM各种数据类型占用的字节数 char short int float double
5星 · 资源好评率100%
Shape* s[]表示一个指向Shape对象指针的数组。这个函数的目的是计算一个由n个Shape对象组成的数组中所有对象的面积之和。由于Shape是一个抽象基类,因此可以通过使用指向Shape对象的指针来处理不同类型的Shape对象。在函数中,使用s[i]->area()来调用Shape对象的虚函数area(),这样可以动态绑定调用每个Shape对象的特定实现。
阅读全文