• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

질문

20.08.19 14:28 작성 조회수 167

0

 Digit& operator++ (int)

    {

        Digit temp(m_digit);

        ++(*this);

        //++m_digit;

        return temp;

    }

제가 알기로 *this는 객체 그 자체라고 알고 있는데

++(*this) == ++m_digit 이 가능한가요?

*this는 객체 그 자체이고 m_digit은 객체의 멤버변수인데요!

답변 3

·

답변을 작성해보세요.

0

Hello Yeo님의 프로필

Hello Yeo

2020.08.19

그 문제는 operator++를 어떻게 구현하느냐에 따라 달려있습니다.

0

khb4435님의 프로필

khb4435

질문자

2020.08.19

++(*this) ++객체를 하게되면 객체의 멤벼변수가 + 되나요?

0

Hello Yeo님의 프로필

Hello Yeo

2020.08.19

원하는대로 구현하려면 ++ operator 내부에서는 ++m_digit 를 해야합니다.

지금 구조는 재귀적인 구조가 되어있으며... reference로 return을 하고 계시는군요. 이는 문제를 일으킬 수 있습니다.

다른 함수 내에서 ++(*this) 를 하시면 생각하신대로 작동합니다.