Я недавно видел вопрос об онлайн-опросе, с которым мне нужна помощь. Это не вопрос работы, на которую я беру интервью, мне просто было любопытно получить ответ. Заранее спасибо.
#include <iostream>
class Foo
{
//...
};
void staff(Foo& f)
{
//..
std::out << f << endl; // output Foo object f
}
Вопрос был:
Какие операторы должны быть определены для правильного отображения объекта?
std::ostream& operator <<(std::ostream&)
как функция-член класса Foo
std::streambuf& operator << (std::ostream&, Foo const&)
как отдельный перегруженный оператор.
void << operator<<(std::ostream& , Foo const&)
автономно, перегружено
std::ostream& operator << (std::ostream&, Foo const&)
автономно, перегружено
void std::operator<<(std::ostream&)
как функция члена класса Foo