Your class should have a constructor that initializes the three data members.

조회수 522회

원서로 된 책에 있는 문제인데 무슨 의미인지 정확히 이해가 가지 않아서 질문드립니다 요약하자면 class 예제인데 탈것 클래스에 5개의 멤버변수를 주고 set,get함수를 각 변수에 만들어주고 메소드를 통해서 각 객체의 멤버변수를 출력하라는 문제입니다

그런데 문제중 저 구절이 의미하는게 제가 생각하기에는 constructor에 초기화시키는 변수를 딱 3개만 넣으라는 말같은데 그럼 나머지 두개는 어떻게하라는건지 말이 되지 않는 것 같아 제가 문제를 못알아먹는것같아 질문드립니다 ㅠㅠ

  • 원서에 적힌 그대로 문제를 적어보세요...또한 책이라는 것이 오타가 있을 수 있으니 출판사 사이트에 접속하여 오탈자 정보를 확인해보세요. 정영훈 2019.4.4 06:22

2 답변

  • 좋아요

    0

    싫어요
    채택 취소하기

    Your class should have a constructor that initializes the three data members.

    Constructor는 해당 Instance를 생성할 때에 실행되는 코드입니다.

    나머지 두개의 변수는 어떻게 하라는건가? 그냥 생략하라는건가? 라는 것이 의문인 것 같아 그것에 초점을 맞추어서 대답합니다.

    아마도 3개의 파라미터를 받는 Constructor를 만들라는 말 같습니다.

    #include <iostream>
    #include <ctime>
    #include <string>
    using namespace std;
    
    class user{
        private:
            int id;
            time_t create_date;
            string userID;
            string password;
            string email;
        public:
            user(string userID, string password, string email){
                this -> userID = userID;
                this -> password = password;
                this -> email = email;
    
                this -> id; // auto increment 함수를 이용해서 할당..
                this -> create_date; // 현재의 날짜를 받아와서 할당..
            }
    
            void print(){
            }
    };
    
    int main()
    {
    }
    
    

    나머지 2개의 멤버변수 같은 경우에는, 컴퓨터가 자동으로 할동하게끔 할수도 있고, 아니면 그냥 아무것도 할당 안할수도 있습니다.

    option 같은 거라고 생각하면 될 것 같습니다.

    • 친절하신 답변 감사합니다 읽어보니 가장 맞는 것 같습니다 김동현 2019.4.4 19:09
  • 약간 직역: 3개의 데이터멤버(변수)를 초기화하는 생성자가 있어야 합니다.

    의역: 생성자에서는 3가지 데이터멤버변수를 초기화하는 코드가 있어야 합니다.

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

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

(ಠ_ಠ)
(ಠ‿ಠ)