Cho em hỏi theo như em biết phương thức toán tử này có 2 cách trình bày là :
VD :
tamthuc operator -()
{
tamthuc t;
t.a=-a;
t.b=-b;
t.c=-c;
return t;
};
//Cách 2
// a=-a;
// b=-b;
// c=-c;
// return *this;
Nhưng khi em làm cách 1 với phương thức đổi dấu mảng 2 chiều
matrix operator-()
{
matrix z;
for(int i=0; i<n; i++)
for(int j=0; j<m; j++)
z.a[i][j]=-(z.a[i][j]);
return z;
};
thì nó bị lỗi và em làm như cách 2 :
for(int i=0; i<n; i++)
for(int j=0; j<m; j++)
a[i][j]=-a[i][j];
return *this;
Thì lại chạy được ạ
Các anh cho em hỏi sự khác biệt với ạ.