演算子関数のオーバーロード
演算子関数は,通常はオーバーロード演算子を使うことによって間接的に呼び出されますが,直接呼び出すこともできます。
c3 = c1.operator + (c2); // c3 = c1 + c2 と同じ
独自の規則を持っている new および delete とは異なり,演算子関数は,静的でないメンバー関数であるか,あるいは最低 1 つのクラス型引数を持っていなければなりません。演算子関数 =,(),[] および -> は,静的でないメンバー関数でなければいけません。
列挙型にはオーバーロード済みの演算子を格納できますが,演算子関数の =,( ),[ ],および -> は列挙型に対してオーバーロードできません。