Nạp chồng toán tử (operator+) trong C++,bản chất của toán tử?

Thật ra em cũng không rõ keyword của cái vấn đề này nên các anh thông cảm cái title không được rõ ràng ạ.
Bài tập của thầy cho một class số phức (SoPhuc). Phần khai báo trong class có hai dòng em chú ý như sau.

SoPhuc(const int&);
SoPhuc operator+(const SoPhuc&);

Trong hàm main có 2 dòng code mà em chưa hiểu cách compiler thực hiện nó.

SoPhuc sp2 = sp1.operator+(10); //1
SoPhuc sp3 = sp1 + 10; //2

(1) Cái này em nghĩ bản chất toán tử cũng là một hàm.
(2) Cái này em không rõ, dù không nạp chông toán tử cộng SoPhuc với Int, tại sao chương trình vẫn chạy được ạ.

Mong anh chị giảng gải cho em hiểu hơn một tý ạ.
Em cảm ơn.

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?