Tôi nghĩ rằng đoạn mã sau có thể được sử dụng để tạo các thao tác.quá tải toán tử cho các thao tác
#include<iostream>
ostream & symbol(ostream & output)
{
return output << "\tRs";
}
hoạt động tốt. Các tuyên bố sau
cout << "Total amount: " << 567 << symbol;
cung cấp cho các đầu ra
Total amount: 567 Rs
Nhưng tôi không hiểu tại sao nó đang làm việc. Tôi có thông tin sau về quá tải toán tử trong C++.
chỉ các toán tử hiện tại mới có thể bị quá tải. Không thể tạo toán tử mới. Nhưng biểu tượng không phải là toán tử hiện tại.
Trong báo cáo kết quả (cout < < "Tổng số tiền:" < < biểu tượng;), có vẻ như < < là các nhà điều hành quá tải và biểu tượng là một biến/đối tượng. Nhưng tôi đã không khai báo biểu tượng làm biến/đối tượng.
lý do tại sao họ sử dụng báo cáo trả lại (kết quả trả về < < "\ tRs";) ?. Tôi nghĩ rằng (trở lại "\ TRS";) hoặc (đầu ra < < "\ TRS";) nên làm việc (tôi đã cố gắng nhưng không làm việc :))
Thật sự tôi không biết. cách mã trên hoạt động. Có ai để giải thích làm việc của các nhà điều hành quá tải trên?
bạn có nghĩa là có tồn tại một toán tử quá tải 'được xác định trước' (ostream &, ostream & (*) (ostream &)) '? – Vlad
'toán tử << (ostream & (* pf) (ostream &));' là một thành viên của ['std :: ostream] (http://www.cplusplus.com/reference/iostream/ostream/operator%3C%3C/) – Attila