利用者定義演算子
Smalltalkによる例:
Smalltalkにおいてはメソッドに記号だけで構成されるセレクターをつけることで利用者定義演算子を定義することができる。Smalltalkでは演算子を2項セレクターとよび#with:など英数でできたセレクターとほぼ同様に扱う。Smalltalkにおいて演算子はメッセージの一種という扱いであり引数が必ず1個で優先順位が異なる点以外は特別扱いはしない。このため演算子として定義できる記号には殆ど制限がない(ただし区切り用の記号や代入記号は指定できない)。また、演算子として定義する記号は2文字でもよく->や~=といった演算子がよく定義されている。Smalltalkは多重定義ができないため一つのクラスに同じ演算子を複数定義することはできない。ただし、インスタンスオブジェクトとクラスオブジェクトは同じクラスに紐づくものの別のオブジェクトであるためインスタンスメソッドとクラスメソッドで同じ演算子を定義することが可能になっている。
C++による例:
C++においてはoperatorキーワードの後に記号をつけた形の特殊な名前を持つ関数を定義することで演算子を定義できる。