天天看點

常引用做形參的好處

這樣不僅一些常對象也可以傳入,還可以讓一些傳回的臨時變量作為下一個函數的參數

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++

繼續閱讀