다음 표에서는 오버로드될 수 있는 연산자 목록을 보여 줍니다.
다시 정의 가능 이항 연산자
| 연산자 | 속성 |
|---|---|
| = | Comma |
| () | 같지 않음 |
| % | 모듈러스 |
| %= | 모듈러스/할당 |
| = | 비트 AND |
| () | 논리적 AND |
| () | 비트 AND/할당 |
* |
곱하기 |
*= |
곱하기/할당 |
| + | 더하기 |
| += | 더하기/할당 |
| - | 빼기 |
| -= | 빼기/할당 |
| => | 멤버 선택 |
->* |
멤버 포인터 선택 |
| / | 나누기 |
| /= | 나누기/할당 |
| < | 보다 작음 |
| << | 왼쪽 시프트 |
| <<= | 왼쪽 시프트/할당 |
| <= | 보다 작거나 같음 |
| = | 양도 |
| == | Equality |
| > | 보다 큼 |
| >= | 크거나 같음 |
| >> | 오른쪽 시프트 |
| >>= | 오른쪽 시프트/할당 |
| ^ | 배타적 OR |
| ^= | 배타적 OR/할당 |
| | | 포괄적 비트 OR |
| |= | 포괄적 비트 OR/할당 |
| || | 논리적 OR |
이항 연산자 함수를 비정적 멤버로 선언하려면 해당 함수를 다음과 같은 형태로 선언해야 합니다.
ret-type
operatorop(arg)
여기서 ret-type은 반환 형식이고, op는 위의 표에 나와 있는 연산자 중 하나이며, arg는 임의 형식의 인수입니다.
이항 연산자 함수를 전역 함수로 선언하려면 해당 함수를 다음과 같은 형태로 선언해야 합니다.
ret-type
operatorop(arg1,arg2)
여기서 ret-type 및 op는 멤버 연산자 함수에 대해 설명된 것과 동일하고, arg1 및 arg2는 인수입니다. 인수 중 하나 이상이 클래스 형식이어야 합니다.
참고 항목
이항 연산자의 반환 형식에 대한 제한은 없지만 대부분의 사용자 정의 이항 연산자는 클래스 형식이나 클래스 형식에 대한 참조를 반환합니다.