生成一个代码:定义一个类,此类中含有一个成员函数,这个函数的作用是取传入的数组的某行某列(行列号也是传入的参数)的元素
时间: 2024-11-13 20:28:27 浏览: 10
当然,这里是一个简单的C++代码片段,定义了一个名为`ArrayMatrix`的类,它包含一个`getElement`函数,该函数接收一维整数数组作为输入,并返回指定行和列的元素:
```cpp
#include <vector>
class ArrayMatrix {
private:
std::vector<std::vector<int>> matrix; // 一维向量表示二维数组
public:
// 构造函数
ArrayMatrix(const std::vector<int>& arr) {
int rows = arr.size();
matrix.resize(rows, std::vector<int>(rows));
for (size_t i = 0; i < rows; i++) {
for (size_t j = 0; j < rows; j++) {
matrix[i][j] = arr[i * rows + j]; // 将一维数组转换为二维数组
}
}
}
// 获取元素的函数
int getElement(int row, int col) const {
if (row >= 0 && row < matrix.size() && col >= 0 && col < matrix[row].size()) {
return matrix[row][col];
} else {
throw std::out_of_range("Invalid indices!"); // 当索引越界时抛出异常
}
}
};
// 示例:
int main() {
std::vector<int> inputArray = {1, 2, 3, 4, 5, 6, 7, 8, 9};
ArrayMatrix arrayMatrix(inputArray);
try {
int element = arrayMatrix.getElement(1, 2); // 获取第二行第三列的元素
std::cout << "Element at (1, 2): " << element << std::endl;
} catch (const std::out_of_range& e) {
std::cerr << "Error: " << e.what() << std::endl;
}
return 0;
}
```
这个`ArrayMatrix`类接受一个一维数组,然后将它转换为二维数组结构,方便按行和列访问。`getElement`函数用于根据传入的行和列索引来获取对应元素。
阅读全文