该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
动态数组实现重载运算符求和
#include
#include
using namespace std;
class matrix
{
public:
matrix()
{
x=0;
y=0;
}
~matrix()
{
for(int i=0;i
delete []p[i];
p=NULL;
}
matrix(int xx,int yy):x(xx),y(yy){}
void matrix_creat();
matrix operator+(matrix &c1);
void display();
private:
int **p;
int x;
int y;
};
void matrix::matrix_creat()
{
p=new int*[x];
for(int i=0;i
{
p[i]=new int[y];
}
for(i=0;i
{
for(int j=0;j
{
cin>>p[i][j];
}
}
}
matrix matrix::operator+(matrix &c1)
{
matrix c;
for(int i=0;i
{
for(int j=0;j
{
c.p[i][j]=p[i][j]+c1.p[i][j];
}
}
return c;
}
void matrix::display()
{
for(int i=0;i
{
for(int j=0;j
{
cout<
}
cout<
}
}
int main()
{
int x,y;
cout<
cin>>x>>y;
matrix c1(x,y),c2(x,y),c(x,y);
cout<
c1.matrix_creat();
cout<
c2.matrix_creat();
c=c1+c2;
cout<
c.display();
return 0;
}
c=c1+c2那一行出错了,是operator定义出错了吗??求解。。