已知矩阵为2行3列,重载流插入运算符“<<”和流提取运算符">>",使之能完成矩阵的输入和输出
时间: 2024-02-23 18:58:44 浏览: 73
矩阵类的运算符重载
可以这样实现:
```c++
#include <iostream>
using namespace std;
class Matrix {
private:
int data[2][3];
public:
friend ostream &operator<<(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 << endl;
}
return os;
}
friend istream &operator>>(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;
}
};
int main() {
Matrix m;
cin >> m;
cout << m;
return 0;
}
```
在Matrix类中,我们重载了流插入运算符“<<”和流提取运算符">>",并使用友元函数的方式实现了对私有成员data的访问。在主函数中,我们先创建一个Matrix对象m,然后通过cin输入矩阵数据,最后通过cout输出矩阵数据。
阅读全文