Brise

[C++ 기본 2] 7. 접근지정자 본문

프로그램/C,C++

[C++ 기본 2] 7. 접근지정자

naudhizb 2022. 3. 2. 23:28
반응형
// 7_접근지정자    74page ~

// 멤버 데이타를 private 에 놓아서
// 외부의 잘못된 접근으로 객체의 상태가 불안해 지는
// 것을 막는다!
// "캡슐화(encapsulation)", "정보 은닉"

struct Bike
{
private:
    int gear;

public:
    Bike(int n = 1) { if ( n > 0) gear = n; }

    void changeGear(int n)  
    {    
        if ( n > 0 )
            gear = n;    
    }
};

int main()
{
//    Bike b = { 5 }; // C 스타일의 초기화는 멤버 데이타가
                    // public 인 경우만 가능..

    Bike b(5);

    //b.gear = -10;
    b.changeGear(-10);
}

C++에서는 정보 은닉 기능을 지원하기 위해 구조 또는 클래스 내부에 private, public, protected 와 같은 라벨을 지정할 수 있으며, 라벨의 종류에 따라 데이터나 함수에 접근할 수 있는 권한이 달라진다.

반응형
Comments