Nếu bạn quá tải - như toán tử-(), nó được sử dụng ở bên trái của đối tượng, tuy nhiên quá tải() như toán tử()() nó được sử dụng ở bên phải của đối tượng. Làm cách nào để biết toán tử nào được sử dụng ở bên trái và toán tử nào được sử dụng ở bên phải?Quá tải toán tử trong C++
Trả lời
Nhìn vào số operator precedence chart. Điều này sẽ cho bạn biết hướng các nhà điều hành liên kết (liên kết). Lưu ý rằng một số toán tử có nhiều biểu mẫu có ý nghĩa khác nhau, chẳng hạn như nhị phân và unary -
. Trong những trường hợp như vậy, bạn có thể có nhiều quá tải, ví dụ .:
T operator-()
và:
T operator-(const T &o)
Trình biên dịch chọn một trong những quyền căn cứ vào các cú pháp của người điều khiển.
Xem thêm điều này hữu ích set of guidelines.
'Toán tử-()' có thực sự trả về không có gì - không nên trả về giá trị của loại thích hợp hoặc là sự phủ định của giá trị hoặc sự khác biệt giữa các giá trị? –
Cảm ơn vì đã bắt được điều đó, Jonathan. Đã sửa lỗi. –
Hầu hết các toán tử đơn nhất chỉ có thể được đặt ở phía được chỉ định của toán hạng. Đối với hai trường hợp đặc biệt, ++
và --
, hãy xem this FAQ.
- 1. C++: Toán tử quá tải =
- 2. C++ toán tử == quá tải
- 3. Quá trình toán tử C++ quá tải
- 4. Toán tử gán quá tải trong C++
- 5. Toán tử quá tải + trong C++
- 6. Toán tử gán chồng quá tải C++
- 7. C++ quá tải toán tử cheatsheet
- 8. toán tử [] = quá tải?
- 9. Quá tải toán tử
- 10. quá tải toán tử ->
- 11. Toán tử quá tải trong C++ và dereference
- 12. Quá tải toán tử toàn cầu mới/xóa trong C++
- 13. Quá tải toán tử gián tiếp trong C++
- 14. Toán tử [] Quá tải trong mảng đa chiều C++
- 15. Toán tử quá tải trong F #: (/)
- 16. Quá tải toán tử trong .NET
- 17. Quá tải toán tử trong Java
- 18. Quá tải toán tử + = sự kiện
- 19. Boolean và String quá tải của toán tử gán (C++)
- 20. C++ quá tải nhiều toán tử cho cùng một toán tử
- 21. Scala: phương thức \ toán tử quá tải
- 22. Quá tải php bằng toán tử
- 23. Tại sao các toán tử gán quá tải trong VB.NET?
- 24. toán tử quá tải = bên trong mẫu lớp
- 25. So sánh toán tử quá tải trong php
- 26. Quá tải toán tử nhị phân trên lớp templated
- 27. Số lượng đối số trong quá tải toán tử trong C++
- 28. Liệu toán tử hỗ trợ Java có quá tải không?
- 29. cần quá tải toán tử <và null kiểm tra
- 30. quá tải toán tử cho các thao tác
Điều này có một câu trả lời đơn giản, nhưng từ quan điểm của một người mới lập trình tôi có thể tưởng tượng điều này có thể là một nguồn nhức đầu nhiều. +1 –