两具矩阵a和b,均为2行3列,编一程序,求两个矩阵之和。重载运算符“<<”和“>>”,使之能用于该矩阵的输入和输出。重载运算符“+”,使之能用于行矩阵相加,如:c=a+b。,main函数为两具矩阵a和b,均为2行3列,编一程序,求两个矩阵之和。重载运算符“<<”和“>>”,使之能用于该矩阵的输入和输出。重载运算符“+”,使之能用于行矩阵相加,如:c=a+b。
时间: 2024-03-06 18:46:35 浏览: 124
好的,以下是代码实现:
```
#include <iostream>
using namespace std;
class Matrix {
private:
int mat[2][3];
public:
Matrix() {}
friend istream& operator>>(istream& in, Matrix& m) {
for(int i=0; i<2; i++) {
for(int j=0; j<3; j++) {
in >> m.mat[i][j];
}
}
return in;
}
friend ostream& operator<<(ostream& out, const Matrix& m) {
for(int i=0; i<2; i++) {
for(int j=0; j<3; j++) {
out << m.mat[i][j] << " ";
}
out << endl;
}
return out;
}
friend Matrix operator+(const Matrix& m1, const Matrix& m2) {
Matrix tmp;
for(int i=0; i<2; i++) {
for(int j=0; j<3; j++) {
tmp.mat[i][j] = m1.mat[i][j] + m2.mat[i][j];
}
}
return tmp;
}
};
int main() {
Matrix a, b, c;
cout << "Please input matrix a: " << endl;
cin >> a;
cout << "Please input matrix b: " << endl;
cin >> b;
c = a + b;
cout << "Matrix a: " << endl << a;
cout << "Matrix b: " << endl << b;
cout << "Matrix c = a + b: " << endl << c;
return 0;
}
```
在上面的代码中,我们定义了一个 Matrix 类,其中重载了运算符 ">>", "<<" 和 "+"。实现了输入和输出矩阵以及矩阵相加的功能。在 main 函数中,我们首先输入两个矩阵 a 和 b,然后计算它们的和并输出结果矩阵 c。
阅读全文