我给你重写了下
Matrix.h
#ifndef MATRIX_H#define MATRIX_H
const int N=100;
class Matrix
{
public:
Matrix(int Row,int Column,int A[N][N]);
Matrix(Matrix &m);
~Matrix(){};
void plus(Matrix &m);
private:
int m_Row;
int m_Column;
int m_A[N][N];
};
#endif
Matrix.cpp
#include "matrix.h" #include
using namespace std;
Matrix::Matrix(int Row,int Column,int A[N][N])
{
m_Row=Row;
m_Column=Column;
for (int i=0;i
for (int j=0;j
m_A[i][j]=A[i][j];
}
}
}
Matrix::Matrix(Matrix &m)
{
m_Row=m.m_Row;
m_Column=m.m_Column;
for (int i=0;i
for (int j=0;j
m_A[i][j]=m.m_A[i][j];
}
}
}
void Matrix::plus(Matrix &m)
{
for(int i=0;i
m_A[i][j] += m.m_A[i][j];
}
}
for(int i=0;i
for(int j=0;j
cout<
}
}
main.cpp
#include "Matrix.h" #include
using namespace std;
int main()
{
int m,n;
cout<<"Please enter two integer number:";
cin>>m>>n;
int a[N][N];
cout<<"Please enter a "<
for(int j=0;j
cin>>a[i][j];
}
}
Matrix m1(m,n,a);
int b[N][N];
cout<<"Please enter a "<
for(int j=0;j
cin>>b[i][j];
}
}
Matrix m2(m,n,a);
m1.plus(m2);
return 0;
}
既然你已经定义了二维数组a[N][N]
构造函数的第三个参数是二维数组
那么你调用的时候直接Matrix m(m,n,a)就可以了
实际上 你的你预先指定一个N 有些浪费空间了
用动态分配空间是最好的
还有就是加法运算的时候,一定要检查行列是否匹配
matrix m1(m,n,a[m][n]);
==>
matrix m1(m,n,a);