小白求教……已经知道*>>*运算符的重载貌似是没问题的,问题好像出在*<<*运算符上,但是怎么也看不出问题来……
#include <iostream.h>
class Matrix{
public:
int a[2][3];
Matrix(){}
friend Matrix operator+(Matrix a,Matrix b);
friend ostream & operator<<(ostream & output,Matrix &a);
friend istream & operator>>(istream & intput,Matrix &a);
};
Matrix operator+(Matrix a,Matrix b){
Matrix c;
for(int i=0;i<2;i++)
for(int n=0;n<3;n++)
{ c.a[i][n]=a.a[i][n]+b.a[i][n]; }
return c;
}
ostream & operator<<(ostream & output,Matrix &a)
{
for(int i=0;i<2;i++)
{
for(int n=0;n<3;n++)
{output<<a.a[i][n];}
output<<endl;
}
return output;
}
istream & operator>>(istream & input,Matrix &a)
{
for(int i=0;i<2;i++)
{for(int n=0;n<3;n++)
input>>a.a[i][n];}
return input;
}
int main()
{ Matrix a,b;
Matrix c;
cin>>a;
cin>>b;
c=a+b;
return 0;
}
#include <iostream.h>
class Matrix{
public:
int a[2][3];
Matrix(){}
friend Matrix operator+(Matrix a,Matrix b);
friend ostream & operator<<(ostream & output,Matrix &a);
friend istream & operator>>(istream & intput,Matrix &a);
};
Matrix operator+(Matrix a,Matrix b){
Matrix c;
for(int i=0;i<2;i++)
for(int n=0;n<3;n++)
{ c.a[i][n]=a.a[i][n]+b.a[i][n]; }
return c;
}
ostream & operator<<(ostream & output,Matrix &a)
{
for(int i=0;i<2;i++)
{
for(int n=0;n<3;n++)
{output<<a.a[i][n];}
output<<endl;
}
return output;
}
istream & operator>>(istream & input,Matrix &a)
{
for(int i=0;i<2;i++)
{for(int n=0;n<3;n++)
input>>a.a[i][n];}
return input;
}
int main()
{ Matrix a,b;
Matrix c;
cin>>a;
cin>>b;
c=a+b;
return 0;
}