[c++] 전위 및 후위 증가 연산자의 오버로딩
C++ 프로그래밍에서 전위(++x
)와 후위(x++
) 증가 연산자는 변수를 증가시키는 데 사용됩니다. 이러한 연산자를 클래스에 대해 오버로딩하면 사용자 정의 타입에서 이러한 연산을 지원할 수 있습니다.
전위 증가 연산자(++x
)의 오버로딩
전위 증가 연산자는 다음과 같이 클래스 멤버 함수로 오버로딩할 수 있습니다.
ClassName& operator++()
{
// 변수 증가
return *this;
}
이 연산자는 ++x
와 같은 형태로 사용됩니다. 반환 형식은 참조 형식이며, 변수를 증가시킨 후 자기 자신을 참조 형식으로 반환합니다.
후위 증가 연산자(x++
)의 오버로딩
후위 증가 연산자는 int
매개변수를 이용해 오버로딩할 수 있습니다. 이 매개변수는 후위 증가 연산자를 구별하기 위해 사용됩니다.
ClassName operator++(int)
{
ClassName temp = *this;
// 변수 증가
return temp;
}
이 연산자는 x++
와 같은 형태로 사용됩니다. 반환 형식은 객체 자체가 됩니다. 기존 값의 복사본을 만들고 변수를 증가시킨 후 이 복사본을 반환합니다.
정의된 연산자들은 사용자 정의 타입에 대해 전위 및 후위 증가 연산을 가능하게 합니다.
이러한 오버로딩은 클래스 멤버 변수의 증가나 관련된 동작을 사용자 지정할 수 있도록 합니다.
참조
- cplusplus.com
- Stroustrup, B. (2013). The C++ programming language. Addison-Wesley