Skip to content

Latest commit

 

History

History
66 lines (54 loc) · 2.06 KB

binary-operators.md

File metadata and controls

66 lines (54 loc) · 2.06 KB
description title ms.date helpviewer_keywords ms.assetid
Learn more about: Binary Operators
Binary Operators
06/14/2018
member-selection operators [C++]
operators [C++], binary
binary operators [C++]
c0e7fbff-bc87-4708-8333-504ac09ee83e

Binary Operators

The following table shows a list of operators that can be overloaded.

Redefinable Binary Operators

Operator Name
, Comma
!= Inequality
% Modulus
%= Modulus/assignment
& Bitwise AND
&& Logical 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
^ Exclusive OR
^= Exclusive OR/assignment
| Bitwise inclusive 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-type operator op ( 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-type operator op ( arg1, arg2 )

where ret-type and op are as described for member operator functions and arg1 and arg2 are arguments. At least one of the arguments must be of class type.

Note

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