Я думаю, что следующий код может быть использован для создания манипуляторов.
#include<iostream>
ostream & symbol(ostream & output)
{
return output << "\tRs";
}
он работает нормально.Следующее утверждение
cout << "Total amount: " << 567 << symbol;
дает вывод
Total amount: 567 Rs
Но я не понял, почему это работает.У меня есть следующая информация о перегрузке операторов в C ++.
только существующие операторы могут быть перегружены.Новые операторы не могут быть созданы.Но символ не является существующим оператором.
В выписке ( cout << "Общая сумма:" << 567 << символ; </em>) кажется, что << </em>является перегруженным оператором, а символ является переменной / объектом.Но я не объявлял symbol как переменную / объект.
почему они используют оператор return ( return output << "\ tRs"; </em>) ?.Я думаю ( return "\ tRs"; ) или ( output << "\ tRs"; </em>) должны работать. (Я пытался, но не работал :))
На самом деле я не знаю, как работает приведенный выше код.Есть ли кто-нибудь, чтобы объяснить работу перегрузки вышеуказанного оператора?