二項演算子
次の表は、オーバーロードできる演算子の一覧です。
再定義可能な二項演算子
Operator | 名前 |
---|---|
、 | Comma |
!= | 不等式 |
% | 剰余 |
%= | 剰余/代入 |
& | ビット演算子 AND |
&& | 論理 AND |
&= | ビットごとの AND/代入 |
* |
乗算 |
*= |
乗算/代入 |
+ | 追加 |
+= | 加算/代入 |
- | 減算 |
-= | 減算/代入 |
-> | メンバー選択 |
->* |
メンバーへのポインター選択 |
/ | 区分 |
/= | 除算/代入 |
< | より小さい |
<< | 左シフト |
<<= | 左シフト/代入 |
<= | 以下 |
= | 譲渡 |
== | 等式 |
> | より大きい |
>= | 以上 |
>> | 右シフト |
>>= | 右シフト/代入 |
^ | 排他的 OR |
^= | 排他的 OR/代入 |
| | ビット演算子包含的 OR |
|= | ビットごとの包括的 OR/代入 |
|| | 論理 OR |
二項演算子関数を非静的メンバーとして宣言するには、次の形式で宣言する必要があります。
ret-type
operator
op ( arg )
ret-type は戻り値の型、op は前の表に示されているいずれかの演算子、arg は任意の型の引数です。
二項演算子関数をグローバル関数として宣言するには、次の形式で宣言する必要があります。
ret-type
operator
op ( arg1, arg2 )
ret-type と op はメンバー演算子関数の場合と同様で、arg1 と arg2 は引数です。 少なくとも 1 つの引数がクラス型である必要があります。
Note
二項演算子の戻り値の型に制限はありません。ただし、ほとんどのユーザー定義の二項演算子は、クラス型かクラス型への参照を返します。