Только если это функция-член класса, которая в противном случае была бы первым аргументом. Таким образом, это будет:
class ostream {
...
ostream &operator << (const myClass &o);
...
};
Поскольку ostream
был написан задолго до вашего урока, вы видите проблему с тем, чтобы ваш класс был там. Таким образом, мы должны реализовать оператор как отдельную функцию:
(return type) operator << ( (left hand side), (right hand side) );
Когда операторы реализованы как функции-члены классов, левая часть равна this
, а аргумент становится правой частью. (Для бинарных операторов - унарные операторы работают аналогично.)