编写c++程序,有两2*3规模的矩阵a和b,编写程序,求两个矩阵之和。重做插入运算符和提取运算符,使之能用于该矩阵的输入和输出。重载运算符“+”,使之能用于矩阵相加,如c=a+b.
时间: 2024-02-21 10:02:15 浏览: 67
好的,以下是C++程序的代码:
```c++
#include <iostream>
using namespace std;
class Matrix {
private:
int matrix[2][3];
public:
Matrix() {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
matrix[i][j] = 0;
}
}
}
friend istream& operator>>(istream& in, Matrix& m) {
cout << "请输入矩阵的元素值:" << endl;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
in >> m.matrix[i][j];
}
}
return in;
}
friend ostream& operator<<(ostream& out, const Matrix& m) {
out << "矩阵的元素值为:" << endl;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
out << m.matrix[i][j] << " ";
}
out << endl;
}
return out;
}
Matrix operator+(const Matrix& m) const {
Matrix temp;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
temp.matrix[i][j] = matrix[i][j] + m.matrix[i][j];
}
}
return temp;
}
};
int main() {
Matrix a, b, c;
cin >> a >> b;
cout << a << b;
c = a + b;
cout << c;
return 0;
}
```
在该程序中,我们定义了一个 Matrix 类,表示一个 2x3 的矩阵。该类中包含一个二维数组 matrix,用于存储矩阵的元素值。我们重载了输入运算符 `>>` 和输出运算符 `<<`,使得该类的对象可以通过输入和输出运算符来进行输入和输出。同时,我们重载了加法运算符 `+`,使得该类的对象可以进行矩阵相加操作。
在 `main` 函数中,我们定义了三个 Matrix 类的对象 a、b、c,分别表示两个输入的矩阵和两个矩阵之和。我们先通过输入运算符 `>>` 输入两个矩阵的元素值,然后通过输出运算符 `<<` 输出这两个矩阵的元素值。接着,我们使用加法运算符 `+` 对两个矩阵进行相加,得到一个新的矩阵 c,最后通过输出运算符 `<<` 输出矩阵 c 的元素值。
阅读全文