Оператор перегрузки>> с цепочкой, принимающей несколько входов [дубликат] ⇐ C++
-
Anonymous
Оператор перегрузки>> с цепочкой, принимающей несколько входов [дубликат]
Цель приведенного ниже кода — получить входные строки любой длины из cin (или, если уж на то пошло, входного потока)
istream& оператор>>(istream& is, MyString& rhs) { cout s1 >> s2; вернуть 0; } Я хочу, чтобы s1 и s2 вводились так же, как мы делаем, скажем, для int.
Но я вижу, что как только я ввожу одну строку и нажимаю ^D, ввод для s2 никогда не запрашивается и он инициализируется значением null
Что здесь происходит?
$ ./Misc/OLNonMembFuncs оператор std::istream&>>(std::istream&, MyString&) Это s1^D(Это s1) оператор std::istream&>>(std::istream&, MyString&) ()
Цель приведенного ниже кода — получить входные строки любой длины из cin (или, если уж на то пошло, входного потока)
istream& оператор>>(istream& is, MyString& rhs) { cout s1 >> s2; вернуть 0; } Я хочу, чтобы s1 и s2 вводились так же, как мы делаем, скажем, для int.
Но я вижу, что как только я ввожу одну строку и нажимаю ^D, ввод для s2 никогда не запрашивается и он инициализируется значением null
Что здесь происходит?
$ ./Misc/OLNonMembFuncs оператор std::istream&>>(std::istream&, MyString&) Это s1^D(Это s1) оператор std::istream&>>(std::istream&, MyString&) ()
Мобильная версия