已知矩阵为2行3列,重载流插入运算符“<<”和流提取运算符">>",使之能完成矩阵的输入和输出,完善下列代码 #include <iostream> using namespace std; //请在begin和end间完成Matrix类的编写,重载>>及<<运算符,建议重载为友元函数 /*********begin**********/ /*********end*********/ int main() { Matrix m1; cin>>m1; cout<<"output matrix"<<endl; cout<<m1; }、
时间: 2023-07-15 14:12:40 浏览: 101
完善的代码如下所示:
```c++
#include <iostream>
using namespace std;
class Matrix {
private:
int m[2][3];
public:
friend istream& operator>>(istream& input, Matrix& m); // 重载输入运算符
friend ostream& operator<<(ostream& output, const Matrix& m); // 重载输出运算符
};
istream& operator>>(istream& input, Matrix& m) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
input >> m.m[i][j];
}
}
return input;
}
ostream& operator<<(ostream& output, const Matrix& m) {
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
output << m.m[i][j] << " ";
}
output << endl;
}
return output;
}
int main() {
Matrix m1;
cin >> m1;
cout << "output matrix" << endl;
cout << m1;
}
```
在Matrix类中,我们使用了友元函数的方式来重载输入和输出运算符。输入运算符中,我们使用两个for循环来遍历矩阵中的每一个元素,将其从输入流中读取,并存储到矩阵中。输出运算符中,也使用两个for循环来遍历矩阵中的每一个元素,并将其输出到输出流中。在输出时,我们每输出完一行元素就换行。最后在主函数中,我们使用重载的输入和输出运算符来完成矩阵的输入和输出操作。
阅读全文