C++中用二维数组构造矩阵类
时间: 2024-10-15 09:28:22 浏览: 46
在C++中,你可以直接使用二维数组来实现一个基础的矩阵类,但这通常不是一个好的设计选择,因为二维数组会固定大小,不适合动态调整。如果你还是想使用二维数组,可以这样做:
```cpp
#include <iostream>
class SimpleMatrix {
public:
// 定义矩阵的行数和列数
int rows;
int cols;
// 二维数组作为矩阵的数据部分
double data[ROW_SIZE][COL_SIZE];
// 构造函数,传入初始的行数和列数
SimpleMatrix(int rows_, int cols_)
: rows(rows_), cols(cols_) {
// 检查传入的行数和列数是否合法
if (rows_ <= 0 || cols_ <= 0) {
throw std::invalid_argument("Rows and columns must be positive.");
}
// 初始化所有元素为0
for (int i = 0; i < rows_; ++i)
for (int j = 0; j < cols_; ++j)
data[i][j] = 0.0;
}
// 获取和设置元素
double& operator()(int row, int col) {
return data[row][col];
}
private:
static const int ROW_SIZE = 5; // 这里假设固定的大小,实际项目应避免硬编码
static const int COL_SIZE = 5;
};
// 示例
int main() {
SimpleMatrix matrix(3, 4);
return 0;
}
```
然而,在实际的C++开发中,更推荐使用`std::vector<std::vector<double>>`或其他容器来构建动态大小的矩阵,以支持动态分配和管理。
阅读全文