哪位佬帮忙看一下这个矩阵的重载,题目哪里有问题啊


#include<iostream>
#include<stdlib.h>
using namespace std;
class Matrix
{private:
int row;
int col;
int *m;
public:
Matrix(const Matrix& a)
{m=new int[row*col];
int i,j;
row=a.row;
col=a.col;
for(i=0;i<row;i++)
for(j=0;j<col;j++)
m[i*col+j]=a.m[i*col+j];
}
Matrix(int a,int b):row(a),col(b)
{int i,j;
m=new int[a*b];
for(i=0;i<row;i++)
for(j=0;j<col;j++)
cin>>m[i*col+j];
}
Matrix()
{m=new int[row*col];}
~Matrix()
{delete[]m;}
void disp();
Matrix operator +(const Matrix &a);
Matrix operator =(const Matrix &a);
};

Matrix Matrix::operator +(const Matrix &a)
{Matrix t;
int i,j;
t.row=row;
t.col=col;
for(i=0;i<row;i++)
for(j=0;j<col;j++)
t.m[i*col+j]=m[i*col+j]+a.m[i*col+j];
return t;
}

Matrix Matrix::operator =(const Matrix &a)
{
return a;
}

void Matrix::disp()
{
for(int i=0;i<row;i++)
{
cout<<'\t';
for(int j=0;j<col;j++)
cout<<*(m+i*col+j)<<'\t';
cout<<endl;
}
}



int main()
{
int row_a,col_a,row_b,col_b;
cin>>row_a>>col_a;
Matrix A(row_a,col_a);
cin>>row_b>>col_b;
Matrix B(row_b,col_b),C;
C=A+B;
C.disp();
A=B;
A.disp();
getchar();
return 0;
}
腾讯频道 - C++ - 哪位佬帮忙看一下这个矩阵的重载,题目哪里有问题啊
...
评论
C++频道图标
C++
6538成员
1
收藏
评论
分享