根据main函数中矩阵对象的定义与使用,定义相关的矩阵类Array,并利用运算符重载的方法实现矩阵的加法与输入输出操作。(为简化问题,矩阵中元素为2位以内整数,要求矩阵按照行列的格式输出,每个元素占3位宽度)
代码实现:
#include <iostream>
#include <iomanip>
using namespace std;
class Array{
private:
int mat[2][3];
public:
Array operator +(Array b){
Array rs;
for(int i=0;i<2;i++){
for(int j=0;j<3;j++)rs.mat[i][j] = mat[i][j]+b.mat[i][j];
}
return rs;
}
friend istream& operator >>(istream& in,Array &a);
friend ostream& operator <<(ostream& out,Array &a);
};
istream& operator >>(istream& in,Array &a){
for(int i=0;i<2;i++){
for(int j=0;j<3;j++)in>>a.mat[i][j];
}
return in;
}
ostream& operator <<(ostream& out,Array &a){
for(int i=0;i<2;i++){
for(int j=0;j<3;j++){
cout<<setw(3)<<a.mat[i][j];
}
cout<<endl;
}
return out;
}
int main()
{
Array arr1,arr2,arr3;
cin>>arr1;
cin>>arr2;
cout<<arr1<<endl;
cout<<arr2<<endl;
arr3=arr1+arr2;
cout<<arr3;
return 0;
}