生成一个代码并打印出运行结果:定义一个类,此类中含有一个成员函数,这个函数的作用是取传入的数组的某行某列(行列号也是传入的参数)的元素 当然,这里是一个简单的C++代码片
时间: 2024-11-13 08:28:05 浏览: 20
java代码-编写一个类
```cpp
#include <iostream>
using namespace std;
// 定义一个二维数组和对应的矩阵类
class Matrix {
public:
int rows, cols;
int** data; // 保存二维数组的数据
// 构造函数初始化数组
Matrix(int r, int c) : rows(r), cols(c) {
data = new int*[rows];
for (int i = 0; i < rows; ++i) {
data[i] = new int[cols];
}
}
// 析构函数释放内存
~Matrix() {
for (int i = 0; i < rows; ++i) {
delete[] data[i];
}
delete[] data;
}
// 取指定行列的元素
int getElement(int row, int col) {
if (row >= 0 && row < rows && col >= 0 && col < cols) {
return data[row][col];
} else {
throw out_of_range("Row or column index is out of range.");
}
}
// 打印矩阵内容
void printMatrix() {
for (int i = 0; i < rows; ++i) {
for (int j = 0; j < cols; ++j) {
cout << data[i][j] << " ";
}
cout << endl;
}
}
private:
// 为了保持封装,防止直接修改数组内容
};
int main() {
// 创建一个3x3的矩阵
Matrix matrix(3, 3);
// 假设填充了一些值
matrix.data[0][0] = 1;
matrix.data[0][1] = 2;
matrix.data[0][2] = 3;
matrix.data[1][0] = 4;
matrix.data[1][1] = 5;
matrix.data[1][2] = 6;
matrix.data[2][0] = 7;
matrix.data[2][1] = 8;
matrix.data[2][2] = 9;
// 打印初始矩阵
cout << "Initial matrix:" << endl;
matrix.printMatrix();
// 获取并打印指定位置的元素
int element = matrix.getElement(1, 2); // 获取第2行第3列的元素
cout << "Element at (1, 2): " << element << endl;
return 0;
}
```
运行上述代码后,将首先打印出初始矩阵,然后获取并打印指定位置 (1, 2) 的元素。如果行列索引超出范围,程序会抛出 `out_of_range` 异常。
阅读全文