二項演算子Binary Operators

次の表は、オーバーロードできる演算子の一覧です。The following table shows a list of operators that can be overloaded.

再定義可能な二項演算子Redefinable Binary Operators

演算子Operator 名前Name
,, コンマComma
!=!= 非等値Inequality
% ModulusModulus
%= 剰余/代入Modulus/assignment
& ビット演算子 ANDBitwise AND
&& 論理積Logical AND
&= ビットごとの AND/代入Bitwise AND/assignment
** 乗算Multiplication
*=*= 乗算/代入Multiplication/assignment
+ 加算Addition
+= 加算/代入Addition/assignment
- 減算Subtraction
-= 減算/代入Subtraction/assignment
-> メンバー選択Member selection
->*->* メンバーへのポインター選択Pointer-to-member selection
/ 事業部Division
/= 除算/代入Division/assignment
< より小さいLess than
<< 左シフトLeft shift
<<= 左シフト/代入Left shift/assignment
<= 以下Less than or equal to
= 割り当てAssignment
== 等式Equality
> より大きいGreater than
>= 以上Greater than or equal to
>> 右シフトRight shift
>>= 右シフト/代入Right shift/assignment
^ 排他的 ORExclusive OR
^= 排他的 OR/代入Exclusive OR/assignment
|| ビット演算子包含的 ORBitwise inclusive OR
|=|= ビットごとの包括的 OR/代入Bitwise inclusive OR/assignment
|||| 論理和Logical OR

二項演算子関数を非静的メンバーとして宣言するには、次の形式で宣言する必要があります。To declare a binary operator function as a nonstatic member, you must declare it in the form:

ret-型 *operator***op ( arg )ret-type operator op ( arg )

ここで、 ret 型は戻り値の型、 opは前の表に示した演算子の1つであり、 argは任意の型の引数です。where ret-type is the return type, op is one of the operators listed in the preceding table, and arg is an argument of any type.

二項演算子関数をグローバル関数として宣言するには、次の形式で宣言する必要があります。To declare a binary operator function as a global function, you must declare it in the form:

ret-型 operator***op ( arg1**、* arg2 )ret-type operator op ( arg1, arg2 )

ここで、 ret 型opは、メンバー演算子関数について説明されているように、 arg1arg2は引数です。where ret-type and op are as described for member operator functions and arg1 and arg2 are arguments. 少なくとも 1 つの引数がクラス型である必要があります。At least one of the arguments must be of class type.

注意

二項演算子の戻り値の型に制限はありません。ただし、ほとんどのユーザー定義の二項演算子は、クラス型かクラス型への参照を返します。There is no restriction on the return types of the binary operators; however, most user-defined binary operators return either a class type or a reference to a class type.

関連項目See also

演算子のオーバーロードOperator Overloading