[c++] C++에서 지원하는 연산자 오버로딩
C++는 사용자 정의 클래스나 구조체에 대해 연산자 오버로딩을 지원하여 기존 연산자의 동작을 사용자 정의 데이터 타입에 대해 재정의할 수 있습니다.
연산자 오버로딩 기본 구문
return_type operator symbol (parameters) {
// 연산자 오버로딩의 구현
}
여기서 return_type
은 연산자 오버로딩의 반환 형식을 나타내며, symbol
은 오버로딩하려는 연산자를 나타냅니다. parameters
는 해당 연산자에 대해 받고자 하는 매개변수를 나타냅니다.
예시
아래 예시는 +
연산자를 오버로딩하는 방법을 보여줍니다.
class Vector {
public:
int x, y;
Vector operator + (const Vector& v) {
Vector result;
result.x = x + v.x;
result.y = y + v.y;
return result;
}
};
위의 코드에서, +
연산자는 벡터의 각 구성 요소를 더한 결과를 반환하도록 재정의되었습니다.
C++는 많은 연산자에 대해 오버로딩을 지원하며, 필요한 경우 사용자 정의 클래스나 구조체에 대해 연산자 오버로딩을 구현할 수 있습니다.
참고 자료
- C++ 공식 문서 - 연산자 오버로딩
- Bjarne Stroustrup, The C++ Programming Language, Addison-Wesley Professional, 2013