在c++中定义一个 ARR 类的对象 arr, 用 b 数组及其元素个数初始化该对象,求其最大值及最大值的序号,并输出程序的运行结果。
时间: 2024-10-22 18:20:03 浏览: 37
在C++中,你可以定义一个`ARR`类,它有一个私有数组成员`vector<int>`,并且包含构造函数、一个方法`findMax()`来找到最大值,另一个方法`indexOfMax()`来获取最大值的序号。以下是示例代码:
```cpp
#include <iostream>
#include <vector>
class ARR {
private:
std::vector<int> elements;
public:
// 构造函数接受一个整数数组作为输入并初始化对象
ARR(const std::vector<int>& b) : elements(b) {
if (!elements.empty()) {
max_value = *std::max_element(elements.begin(), elements.end()); // 找到最大值
max_index = std::distance(elements.begin(), std::max_element(elements.begin(), elements.end())); // 获取最大值序号
}
}
// 查找最大值
int findMax() const {
return max_value;
}
// 获取最大值的序号
size_t indexOfMax() const {
return max_index;
}
// 主函数演示如何使用
friend void printResult(ARR& arr);
};
// 辅助函数来打印结果
void printResult(ARR& arr) {
std::cout << "最大值: " << arr.findMax() << std::endl;
std::cout << "最大值的序号: " << arr.indexOfMax() << std::endl;
}
int main() {
std::vector<int> b = {5, 3, 9, 1, 7};
ARR arr(b);
printResult(arr);
return 0;
}
```
当你运行这个程序,输出将会是:
```
最大值: 9
最大值的序号: 2
```
阅读全文