想问一下matrix::matrix(matrix &a)和matrix::matrix(matrix a)的区别如题Matrix::Matrix(Matrix tmp){y=tmp.y;x=tmp.x;M=new int *[y];for(int yy=0;yy

来源:学生作业学帮网 编辑:学帮网 时间:2024/05/19 03:55:22

想问一下matrix::matrix(matrix &a)和matrix::matrix(matrix a)的区别
如题
Matrix::Matrix(Matrix tmp)
{
y=tmp.y;x=tmp.x;
M=new int *[y];
for(int yy=0;yy

首先,这是一个拷贝构造函数.
拷贝构造函数的作用就是通过另外一个本类类型的对象来创建一个对象,如果不带&那么调用拷贝构造函数时,而拷贝构造函数本身是值传递,形实结合的时候,又要调用拷贝构造函数,这样就是一个死循环.所以拷贝构造函数的参数一定是引用,不能是对象.