c++ 定义矩阵类:运算符<<、>>重载输出输入矩阵 有问题
//源程序如下:(知道的帮忙改下阿)
#include<iostream.h>
#define m 2
#define n 3
//using namespace std;
class Matrix
{
public:
Matrix(int a[m][n])
{
int i,j;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
a[i][j]=0;
}
istream &operator >>(istream &,Matrix &);
ostream &operator <<(ostream &,Matrix &);
friend Matrix operator +(Matrix,Matrix);
private:
int a[m][n];
};
istream &operator >>(istream &input,Matrix &c)
{
cout<<"ÊäÈëÒ»¸ö'm'ÐÐ'n'ÁеľØÕó"<<endl;
int i,j;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
input>>c.a[i][j];
return input;
}
ostream &operator <<(ostream &output,Matrix &c)
{
int i,j;
for(i=0;i<m;i++)
{
for(j=0;j<n;j++)
output<<c.a[i][j];
output<<endl;
}
return output;
}
Matrix operator +(Matrix &c1,Matrix &c2)
{
Matrix c3
int i,j;
for(i=0;i<m;i++)
for(j=0;j<n;j++)
c3.a[i][j]=c1.a[i][j]+c2.a[i][j];
return c3;
}
int main()
{
Matrix a,b,c;
cin>>a>>b;
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
cout<<"c="<<c<<endl;
c=a+b;
a=a+b;
cout<<"c=a+b"<<c<<endl;
cout<<"a=a+b"<<a<<endl;
return 0;
}
//我是用VC++6.0编译的。
//运算符<<、>>重载输出输入矩阵 有问题