常引用做形参的好处

这样不仅一些常对象也可以传入,还可以让一些返回的临时变量作为下一个函数的参数
 
  
matrix1::operator=(const matrix1 &obj)
{
     m=obj.m;
     n=obj.n;
     p=new int[m*n];
     for(int i=0;i<m;i++)
         for(int j=0;j<n;j++)
             *(p+n*i+j)=*(obj.p+n*i+j);
 
  
}
    matrix1 ma1(m,n,(int*)b);
    matrix1 ma2(m,n,(int*)d);
    matrix1 ma3;
    ma3=ma1+ma2;

 matrix1 matrix1::operator+(matrix1 &obj)
 {
     int i,j;
     int x[m][n];
     for(i=0;i<m;i++)
         for(j=0;j<n;j++)
             x[i][j]=*(p+n*i+j)+*(obj.p+n*i+j);
     return matrix1(m,n,(int *)x);
 }
这样可以实现矩阵的加法,注意等号的重载!!!!因为有指针的赋值

猜你喜欢

转载自blog.csdn.net/weixin_42165786/article/details/80721655