编写矩阵类: (1)类中定义矩阵类Matrix中的private类型的int型成员变量matrixArray[2][3]; (2)定义类成员函数InputData,对变量matrixArray进行以此赋值; (3)利用operator + 实现两个矩阵类对象的加法。 (4)重载流插入运算符“<<”和流提取运算符“>>”,使之能用于该矩阵的输入和输出。
时间: 2024-02-16 16:59:34 浏览: 68
类模板实现矩阵类
好的,这个问题需要我们定义一个矩阵类 Matrix,并实现输入输出以及矩阵加法运算。以下是代码实现:
```c++
#include <iostream>
using namespace std;
class Matrix {
private:
int matrixArray[2][3];
public:
void InputData() {
cout << "请输入矩阵的6个元素:" << endl;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
cin >> matrixArray[i][j];
}
}
}
Matrix operator+(const Matrix& m2) {
Matrix temp;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
temp.matrixArray[i][j] = matrixArray[i][j] + m2.matrixArray[i][j];
}
}
return temp;
}
friend ostream& operator<<(ostream& os, const Matrix& m) {
os << "矩阵为:" << endl;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
os << m.matrixArray[i][j] << " ";
}
os << endl;
}
return os;
}
friend istream& operator>>(istream& is, Matrix& m) {
cout << "请输入矩阵的6个元素:" << endl;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
is >> m.matrixArray[i][j];
}
}
return is;
}
};
int main() {
Matrix m1, m2, m3;
cout << "请输入矩阵1:" << endl;
m1.InputData();
cout << "请输入矩阵2:" << endl;
cin >> m2;
m3 = m1 + m2;
cout << m3;
return 0;
}
```
代码中,我们重载了输入输出流运算符“<<”和“>>”,使得可以方便地对矩阵进行输入和输出。在矩阵加法运算中,我们重载了运算符“+”,实现了两个矩阵的元素分别相加。运行程序后,可以依次输入两个矩阵的元素,并输出它们的和。
阅读全文