『プログラミング言語C++』
11.3.1 メンバ、非メンバ演算子
私は、オブジェクトの表現を直接表現する関数を最小限に抑えている。
そのためには、第1引数の値を変更する性質を持つ演算子(たとえば+=)だけをクラスのメンバとして定義すればよい。
そうすれば、引数の値に応じて新しい値を生成するだけの演算子(たとえば+)は、クラスの外で定義でき、クラスの実装に含まれる基本演算子を利用できる。
つまり、分類するとこんな感じかな
・メンバ
= += -= ++ -- [] -> ->*
・非メンバ
== != < > <= >= + - * /