Tak jak potrzebujesz i jak jest ci wygodniej.
Np.
class MyClass
{
public:
MyClass & operator+=(int) { ... }
};
Nie ma sensu tego pisać jako osobną funkcje. Ale jeśli byłoby odwrotnie:
class MyClass
{
public:
friend int & operator+=(int &, const MyClass &) { ... }
};
No to jesteś zmuszony napisać to w osobnej funkcji friend.