哪位C++的高手啊~~帮我看看这个程序到底错在哪了?

来源:百度知道 编辑:UC知道 时间:2024/05/28 23:54:15
#include <iostream.h>
class matrix
{public:
int n,m;
int mat[n][m];
matrix()
{ int i,j;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
mat[i][j]=0;
};
void input();
void display();
friend matrix operator+(matrix &,matrix &);
};
void matrix::input()
{int i,j;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
cin>>mat[i][j];
}
void matrix::display()
{int i,j;
for(i=0;i<n;i++)
{for(j=0;j<m;j++)
{cout<<mat[i][j]<<" ";}
cout<<endl;}
}
matrix operator+(matrix &s1,matrix &s2)
{matrix s;int i,j;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{s.mat[i][j]=s1.mat[i][j]+s2.mat[i][j];};
return s;
}
int main()
{
matrix s1,s2,s;
s1.input();
s1.display();
s2.input();
s2.display();
s=s1+s2;
cout<<&q

#include <iostream.h>
class matrix
{public:
int n,m;
int mat[n][m]; //你这里的n,m都未赋值,系统怎么会知道是多少呢!数组的大小是要确定的。
matrix()
{ int i,j;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
mat[i][j]=0;
};
void input();
void display();
friend matrix operator+(matrix &,matrix &);
};
void matrix::input()
{int i,j;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
cin>>mat[i][j];
}
void matrix::display()
{int i,j;
for(i=0;i<n;i++)
{for(j=0;j<m;j++)
{cout<<mat[i][j]<<" ";}
cout<<endl;}
}
matrix operator+(matrix &s1,matrix &s2)
{matrix s;int i,j;
for(i=0;i<n;i++) //这里的n,m 未定义
for(j=0;j<m;j++)
{s.mat[i][j]=s1.mat[i][j]+s2.mat[i][j];};
return s;
}
int main()
{
matrix s1,s2,s; //这里输入了中文的“,”,换成英文的
s1.input();
s1.display();
s2.input();
s2.display();
s=s1+s2;<