</pre> 今天实现一个矩阵类,重载相加运算符,我是这样实现的:<pre name="code" class="cpp">Matrix Matrix::operator+(const Matrix& B)const
{
if((row != B.row) || (col != B.col))
throw invalid_argument("The matrix should be matched");
Matrix& T = * new Matrix;
T.row = row;
T.col = col;
T.elems = new double[row*col];
for(int i = 0; i != row*col; ++i)
T.elems[i] = elems[i] + B.elems[i];
return T;
};
类方法中,参数是该类对象的引用,实现时可以直接访问该类的private成员,让我以为传引用可以直接访问引用对象private成员
然后我写了一个全局函数,参数也是引用,却不能访问对象的private成员了,如下的代码会报错
bool operator==(const Matrix &A, const Matrix &B)
{
if(A.row != B.row || A.col !&#