강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

Maroo님의 프로필 이미지
Maroo

작성한 질문수

홍정모의 따라하며 배우는 C++

8.2 캡슐화, 접근 지정자, 접근 함수

(11:40)class안의 함수 접근

작성

·

186

0

#include <iostream>
#include<string>
#include<vector>

using namespace std;

class Date {
    int _month;
    int _day;
    int _year;

public:
    void setDate(const int& month_input, const int& day_input, const int& year_input) {
        _month = month_input;
        _day = day_input;
        _year = year_input;
    }
    int getDay() {
        return _day;
    }

};

int main() {

    Date today;
    today.setDate(8, 15, 2022);

    cout<<today.getDay()<<endl;

    return 0;
}

setDate()는 public으로 지정한 다음 main()에서 접근을 했는데,

getDay()함수는 아무 접근 지정자도 표시를 안 했는데 바로 main()에서 접근할 수 있는 이유가 무엇인가요?

따로 지정하지 않으면 private이 된다고 했는데, getDay()는 바로 사용할 수 있는 이유가 궁금합니다.

답변 1

2

안녕하세요,

public: 을 통해 지정되는 함수/변수의 범위에 혼동을 하신 것 같습니다.

첨부해주신 코드 상의 getDay 또한 public 입니다.

public: 하의 함수/변수들은 모두 public입니다.

 

아래와 같이요.

 

class DateClass
{
public:
    int m_month; // public
    int m_day;   // public
    int m_year;  // public
};

 

예제 출처 https://boycoding.tistory.com/242 

Maroo님의 프로필 이미지
Maroo

작성한 질문수

질문하기