二項演算子

次の表は、オーバーロードできる演算子の一覧です。

再定義可能な二項演算子

演算子 名前
= Comma
$ 不等式
% 剰余
%= 剰余/代入
= ビット演算子 AND
$ 論理積
$ ビットごとの AND/代入
* 乗算
*= 乗算/代入
+ 追加
+= 加算/代入
- 減算
-= 減算/代入
= メンバー選択
->* メンバーへのポインター選択
/ 区分
/= 除算/代入
< より小さい
<< 左シフト
= 左シフト/代入
= 以下
= 譲渡
== 等式
> より大きい
= 以上
>> 右シフト
= 右シフト/代入
^ 排他的 OR
^= 排他的 OR/代入
| ビット演算子包含的 OR
|= ビットごとの包括的 OR/代入
|| 論理和

二項演算子関数を非静的メンバーとして宣言するには、次の形式で宣言する必要があります。

ret-typeoperatorop(arg)

ret-type は戻り値の型、op は前の表に示されているいずれかの演算子、arg は任意の型の引数です。

二項演算子関数をグローバル関数として宣言するには、次の形式で宣言する必要があります。

ret-typeoperatorop(arg1,arg2)

ret-typeop はメンバー演算子関数の場合と同様で、arg1arg2 は引数です。 少なくとも 1 つの引数がクラス型である必要があります。

Note

二項演算子の戻り値の型に制限はありません。ただし、ほとんどのユーザー定義の二項演算子は、クラス型かクラス型への参照を返します。

関連項目

演算子のオーバーロード