[ rlatjrfo57님 질문 답변] 전위연산에서 ++(*this)를 사용한 부분

미해결질문
neue zeal 프로필

안녕하세요.

저도 비슷한 진도를 나가고 있습니다.

도움이 될까 해서 남겨봅니다.

//postfix

Digit operator ++ (int)
    {
        Digit temp(m_digit);
        // m_digit++;
        ++(*this);

        return temp;
   }

후위 연산자에서 ++(*this) 이 부분은 이미 전위연산자 오버로딩을 해놓은 상태라 그걸 활용한 부분이라고 설명하고 있습니다.

전위연산자 에서 ++(*this)를 해도 값이 올라가지 않는 ++연산자가 오버로딩이 안 되어 있어서 그렇습니다.

++(m_digit) 에서 m_digit은 멤버변수

++(*this) 에서 *this는 자기자신의 포인터를 dereferencing 한 것, 즉 객체이기 때문입니다.

감사합니다.

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스