[c++] 전위 및 후위 증가 연산자의 오버로딩

C++ 프로그래밍에서 전위(++x)와 후위(x++) 증가 연산자는 변수를 증가시키는 데 사용됩니다. 이러한 연산자를 클래스에 대해 오버로딩하면 사용자 정의 타입에서 이러한 연산을 지원할 수 있습니다.

전위 증가 연산자(++x)의 오버로딩

전위 증가 연산자는 다음과 같이 클래스 멤버 함수로 오버로딩할 수 있습니다.

ClassName& operator++()
{
    // 변수 증가
    return *this;
}

이 연산자는 ++x와 같은 형태로 사용됩니다. 반환 형식은 참조 형식이며, 변수를 증가시킨 후 자기 자신을 참조 형식으로 반환합니다.

후위 증가 연산자(x++)의 오버로딩

후위 증가 연산자는 int 매개변수를 이용해 오버로딩할 수 있습니다. 이 매개변수는 후위 증가 연산자를 구별하기 위해 사용됩니다.

ClassName operator++(int)
{
    ClassName temp = *this;
    // 변수 증가
    return temp;
}

이 연산자는 x++와 같은 형태로 사용됩니다. 반환 형식은 객체 자체가 됩니다. 기존 값의 복사본을 만들고 변수를 증가시킨 후 이 복사본을 반환합니다.

정의된 연산자들은 사용자 정의 타입에 대해 전위 및 후위 증가 연산을 가능하게 합니다.

이러한 오버로딩은 클래스 멤버 변수의 증가나 관련된 동작을 사용자 지정할 수 있도록 합니다.

참조