Я пытаюсь перегрузить operator<<
как функцию-член. Он работает, если просто сделать это:
friend ostream& operator<<(ostream& os, const MyClass& myClass);
в моем файле заголовка и в файле MyClass.cc:
ostream& operator<<(ostream& os, const MyClass& myClass)
{
return myClass.print(os);
}
Однако, если я попытаюсь отключить friend
и сделать его функцией-членом, то он жалуется, что operator<<
может принимать только один аргумент. Почему?
ostream& MyClass::operator<<(ostream& os, const MyClass& myClass)
{
return myClass.print(os);
}
Я прочитал в этот вопрос, что он не может быть функцией-членом, но не уверен, почему?