//有两个矩阵a和b,均为2行3列。求两个矩阵之和。重载运算符“+”,使之能用于矩阵相加(如c=a+b)。
//重载流插入运算符“<<”和流提取运算符“>>”,使之能用于该矩阵的输入和输出。
#include <iostream>
using namespace std;
class Matrix
{
public:
Matrix();
friend Matrix operator+(Matrix &,Matrix &);
friend ostream& operator<<(ostream&,Matrix&);
friend istream& operator>>(istream&,Matrix&);
private:
int mat[2][3];
};
//*****************
Matrix::Matrix(){}
Matrix operator+(Matrix &m1,Matrix &m2)
{
Matrix m;
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
m.mat[i][j]=m1.mat[i][j]+m2.mat[i][j];
}
}
return m;
}
ostream& operator<<(ostream&out,Matrix&m)
{
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
out<<m.mat[i][j]<<" ";
}
out<<m.mat[i][2]<<endl;
}
return out;
}
istream& operator>>(istream&in,Matrix&m)
{
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<3;j++)
{
in>>m.mat[i][j];
}
}
return in;
}
/* C++代码 */
int main()
{
Matrix a,b,c;
cin>>a;
cin>>b;
c=a+b;
cout<<c<<endl;
return 0;
}
结果
oj(一)u
最新推荐文章于 2023-11-01 17:36:47 发布