cho mình hỏi khi mình overload toán tử thì 2 câu lệnh sau đều làm thay đổi giá trị của đối tượng gọi nó:
PhanSo operator + (const PhanSo&); //1
PhanSo& operator += (const PhanSo&); //2
vậy dòng 1 không có dâu tham chiếu tại sao nó vẫn thay đổi được giá trị đối tượng, vd: a=a+b thì a sẽ thay đổi luôn.
nếu như vậy thì dấu tham chiếu ở dòng 2 có ý nghĩa gì?
vì mình thấy bản chất code của 2 dòng là giống nhau mà.
nhờ cộng đồng DNH giải đáp thắc mắc giúp mình.
cảm ơn,
Thông