#include <iostream>
using namespace std;
struct info {
info(int x, int y) : x(x), y(y) {}
int x;
int y;
};
ostream& operator<<(ostream& out, const info &myinfo){
out << myinfo.x << " " << myinfo.y;
return cout;
}
int main() {
info a(1,2);
info b(3,4);
cout << a << " " << b << endl;
}
Выходной сигнал вышеуказанной программы кажется прекрасным даже при неправильной перегрузке operator <<
.Возвращаемое значение перегруженного <<
Может ли кто-нибудь сказать мне, что является следствием этой проблемы с перегрузкой? Я знаю, что функция перегрузки должна возвращать out
вместо cout
, но как выглядит вышеприведенная версия?
не связаны с перегрузкой операторов, но у вас есть ошибка в конструкторе: Информация структура { данные (INT х, Int у): х (х), у (у) {} // здесь меняется на х , b изменено на y int x; int y; }; – CapelliC
lol. Да только опечатка – user1494533