다음 표에서는 오버로드될 수 있는 연산자 목록을 보여 줍니다.
다시 정의 가능 이항 연산자
연산자 | 속성 |
---|---|
= | Comma |
() | 같지 않음 |
% | 모듈러스 |
%= | 모듈러스/할당 |
= | 비트 AND |
() | 논리적 AND |
() | 비트 AND/할당 |
* |
곱하기 |
*= |
곱하기/할당 |
+ | 더하기 |
+= | 더하기/할당 |
- | 빼기 |
-= | 빼기/할당 |
=> | 멤버 선택 |
->* |
멤버 포인터 선택 |
/ | 나누기 |
/= | 나누기/할당 |
< | 보다 작음 |
<< | 왼쪽 시프트 |
<<= | 왼쪽 시프트/할당 |
<= | 보다 작거나 같음 |
= | 양도 |
== | Equality |
> | 보다 큼 |
>= | 크거나 같음 |
>> | 오른쪽 시프트 |
>>= | 오른쪽 시프트/할당 |
^ | 배타적 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는 인수입니다. 인수 중 하나 이상이 클래스 형식이어야 합니다.
참고 항목
이항 연산자의 반환 형식에 대한 제한은 없지만 대부분의 사용자 정의 이항 연산자는 클래스 형식이나 클래스 형식에 대한 참조를 반환합니다.