클래스 기본 질문입니다.

조회수 325회
class calculator
{
    private:
               int nsum;
        int nmin;
        int nmul;
        int ndiv;
    public:
        void init(void);
        void show(void);
};

void calculator::init(void) {
     int nsum = 0; 
     int nmin = 0;
     int nmul = 0;
     int ndiv = 0;
}

정말 기초적인 것 같긴 한데요....init 함수의 정의에서 위와 같이 변수 네 개를 int로 선언하면서 출력하면 쓰레기 값이 나오던데 왜 그런지 자세히 알려주실 수 있나요?

1 답변

  • 좋아요

    0

    싫어요
    채택 취소하기
    void calculator::init(void) {
         int nsum = 0; 
         int nmin = 0;
         int nmul = 0;
         int ndiv = 0;
    }
    

    위 함수에서 int nmin은 init함수의 지역변수입니다. calculator 클래스 안에 있는 변수인 nmin 변수를 나타내는 것이 아닙니다.

    원래 하고자 했던 것은 아래와 같습니다.

    void calculator::init(void) {
         nsum = 0; 
         nmin = 0;
         nmul = 0;
         ndiv = 0;
    }
    
    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)