天天看点

常引用做形参的好处

这样不仅一些常对象也可以传入,还可以让一些返回的临时变量作为下一个函数的参数

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);
 }
           

这样可以实现矩阵的加法,注意等号的重载!!!!因为有指针的赋值

c++

继续阅读