class Matrix
{
public:
Matrix(int **d=NULL,int N=0); //构造函数
Matrix(const Matrix &m); //复制构造函数
~Matrix(); //析构函数
Matrix operator+(const Matrix &m); //重载运算符+
void Display(); //演示矩阵
private:
int i,j; //矩阵横纵坐标
int n; //矩阵维数
int **date; //矩阵数据
};
Matrix::Matrix(int **d,int N) //构造函数
{
n=N;
date=new int*[n];
for(i=0;i<n;i++)
{
date[i]=new int[n];
for(j=0;j<n;j++)
date[i][j]=d[i][j];
}
}
Matrix::Matrix(const Matrix &m) //复制构造函数
{
n=m.n;
date=new int*[n];
for(i=0;i<n;i++)
{
date[i]=new int[n];
for(j=0;j<n;j++)
date[i][j]=m.date[i][j];
}
}
Matrix::~Matrix() //析构函数
{
for(int i=0;i<n;i++)
delete date[i];
delete date;
}
Matrix Matrix::operator + (const Matrix &m) //重载运算符+
{
int n,**d;
n=m.n;
d=new int*[n];
for(i=0;i<n;i++)
{
d[i]=new int[n];
for(j=0;j<n;j++)
d[i][j]=date[i][j]+m.date[i][j];
}
Matrix matrix(d,n);
return matrix;
}
void Matrix::Display() //演示矩阵
{
for(i=0;i<n;i++)
{
for(j=0;j<n;j++)
{
cout<<date[i][j]<<'\t';
}
cout<<endl;
}
求:重载赋值运算符的声明和实现。