要使用war_red里warrior的成员函数的代码该怎么写
时间: 2024-02-12 13:07:47 浏览: 49
利用CodeWarrior的PE功能生成SPI模块的参考代码.pdf
如果要使用 `war_red` 向量中 `warrior` 类型的成员函数,需要使用指针或引用来访问向量中的对象。以下是一个使用指针的示例:
```cpp
// 遍历 war_red 向量,调用每个 warrior 对象的 attack() 成员函数
for (auto it = war_red.begin(); it != war_red.end(); ++it) {
(*it)->attack();
}
```
在这个示例中,使用迭代器访问向量中的对象,并使用指针运算符 `->` 访问 `warrior` 类型的成员函数 `attack()`。
如果要使用引用的话,可以像这样:
```cpp
// 遍历 war_red 向量,调用每个 warrior 对象的 show() 成员函数
for (auto& w : war_red) {
w.show();
}
```
在这个示例中,使用了 `auto&` 引用类型,将向量中的每个 `warrior` 对象传递给了循环变量 `w`。然后,可以像访问普通对象一样,使用点号 `.` 访问 `warrior` 类型的成员函数 `show()`。
无论是使用指针还是引用,都需要注意访问向量中的对象时,是否需要使用动态绑定来调用派生类的成员函数。
阅读全文