本关任务:已知矩阵为2行3列,重载流插入运算符“<<”和流提取运算符">>",使之能完成矩阵的输入和输出。
时间: 2024-02-17 14:03:28 浏览: 102
好的,我可以帮你解决这个问题。以下是重载流插入运算符“<<”和流提取运算符">>"的代码实现:
```c++
#include <iostream>
class Matrix {
public:
// 构造函数
Matrix() {
for(int i = 0; i < 2; i++) {
for(int j = 0; j < 3; j++) {
data[i][j] = 0;
}
}
}
// 重载流插入运算符"<<"
friend std::ostream& operator<<(std::ostream& os, const Matrix& m) {
for(int i = 0; i < 2; i++) {
for(int j = 0; j < 3; j++) {
os << m.data[i][j] << " ";
}
os << std::endl;
}
return os;
}
// 重载流提取运算符">>"
friend std::istream& operator>>(std::istream& is, Matrix& m) {
for(int i = 0; i < 2; i++) {
for(int j = 0; j < 3; j++) {
is >> m.data[i][j];
}
}
return is;
}
private:
int data[2][3];
};
```
通过以上代码实现,你现在就可以进行矩阵的输入和输出操作了。例如:
```c++
int main() {
Matrix m;
std::cout << "请输入一个2x3的矩阵:" << std::endl;
std::cin >> m;
std::cout << "您输入的矩阵为:" << std::endl;
std::cout << m;
return 0;
}
```
运行以上代码,就可以输入一个2x3的矩阵并输出它了。
阅读全文