c++代码实现矩阵类的输出和输入重载
时间: 2023-06-04 22:05:43 浏览: 144
用C++对矩阵类进行了实现
4星 · 用户满意度95%
对于您的问题,我可以回答。为了实现矩阵类的输出和输入重载,我们可以在类中重载<<和>>操作符,使其能够输出和输入矩阵对象,对应的C++代码如下:
```cpp
#include<iostream>
#include<vector>
using namespace std;
class Matrix {
public:
Matrix(int n, int m) {
row = n;
col = m;
data.resize(n);
for(int i = 0;i < n;i++)
data[i].resize(m, 0);//初始化为0
}
~Matrix() { }
vector<int>& operator[](int i) {
return data[i];
}
friend ostream& operator<<(ostream& out, const Matrix& m) {
//重载输出运算符
out<<m.row<<" "<<m.col<<"\n";
for(int i = 0;i < m.row;i++){
for(int j = 0;j < m.col;j++){
out<<m.data[i][j]<<" ";
}
out<<"\n";
}
return out;
}
friend istream& operator>>(istream& in, Matrix& m) {
//重载输入运算符
in>>m.row>>m.col;
m.data.resize(m.row);
for(int i = 0;i < m.row;i++){
m.data[i].resize(m.col, 0);
for(int j = 0;j < m.col;j++){
in>>m.data[i][j];
}
}
return in;
}
private:
vector<vector<int>> data;
int row, col;
};
```
以上就是C++代码实现矩阵类的输出和输入重载的方法。
阅读全文