编写矩阵类: (1)类中定义矩阵类Matrix中的private类型的int型成员变量matrixArray[2][3]; (2)定义类成员函数InputData,对变量matrixArray进行以此赋值; (3)利用operator + 实现两个矩阵类对象的加法。 (4)重载流插入运算符“<<”和流提取运算符“>>”,使之能用于该矩阵的输入和输出。
时间: 2024-02-15 14:03:09 浏览: 101
好的,以下是代码实现:
```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& m) {
Matrix res;
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
res.matrixArray[i][j] = matrixArray[i][j] + m.matrixArray[i][j];
}
}
return res;
}
// 流插入运算符
friend ostream& operator<<(ostream& os, const Matrix& m) {
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) {
m.InputData();
return is;
}
};
int main() {
Matrix m1, m2;
cin >> m1;
cout << "矩阵1:" << endl << m1;
cin >> m2;
cout << "矩阵2:" << endl << m2;
Matrix m3 = m1 + m2;
cout << "矩阵1 + 矩阵2:" << endl << m3;
return 0;
}
```
实现思路:
1. 定义`Matrix`类,其中包含私有成员变量`matrixArray`,用于存储矩阵的元素;
2. 定义`InputData`函数,用于输入矩阵元素;
3. 重载`operator+`运算符,实现矩阵加法;
4. 重载流插入运算符`<<`,实现矩阵的输出;
5. 重载流提取运算符`>>`,实现矩阵的输入;
6. 在`main`函数中,定义两个`Matrix`对象`m1`和`m2`,分别输入矩阵元素;
7. 调用`operator+`运算符,计算出`m1`和`m2`相加的结果,存储在`m3`中;
8. 输出`m1`、`m2`和`m3`的值。
以上代码是一个简单的矩阵类实现,仅供参考。
阅读全文