private (C++)

구문

private:
   [member-list]
private base-class

설명

클래스 멤버 목록 앞에 private 오는 키워드는 클래스의 멤버 함수 및 friend 에서만 이러한 멤버에 액세스할 수 있도록 지정 합니다. 이 설정은 다음 액세스 지정자 또는 클래스 끝까지 선언된 모든 멤버에 적용됩니다.

기본 클래스의 이름 앞에 private 오는 키워드는 기본 클래스의 공용 및 보호 된 멤버가 파생 클래스의 private 멤버 임을 지정 합니다.

클래스에서 멤버의 기본 액세스는 전용입니다. 구조체나 공용 구조체에서 멤버의 기본 액세스는 공용입니다.

기본 클래스의 기본 액세스는 클래스에 대해 전용이고 구조체에 대해 공용입니다. 공용 구조체에 기본 클래스를 사용할 수 없습니다.

관련 정보는 클래스 멤버에 대 한 액세스 제어friend, public, protected및 멤버 액세스 테이블을 참조 하세요.

/clr 관련

CLR 형식에서 c + + 액세스 지정자 키워드 ( public , privateprotected )는 어셈블리와 관련 하 여 형식과 메서드를 표시 하는 데 영향을 줄 수 있습니다. 자세한 내용은 Member Access Control를 참조 하세요.

참고

/LN 로 컴파일된 파일은이 동작의 영향을 받지 않습니다. 이 경우 관리되는 클래스(공용 또는 전용)가 모두 표시됩니다.

END /clr 관련

예제

// keyword_private.cpp
class BaseClass {
public:
   // privMem accessible from member function
   int pubFunc() { return privMem; }
private:
   void privMem;
};

class DerivedClass : public BaseClass {
public:
   void usePrivate( int i )
      { privMem = i; }   // C2248: privMem not accessible
                         // from derived class
};

class DerivedClass2 : private BaseClass {
public:
   // pubFunc() accessible from derived class
   int usePublic() { return pubFunc(); }
};

int main() {
   BaseClass aBase;
   DerivedClass aDerived;
   DerivedClass2 aDerived2;
   aBase.privMem = 1;     // C2248: privMem not accessible
   aDerived.privMem = 1;  // C2248: privMem not accessible
                          //    in derived class
   aDerived2.pubFunc();   // C2247: pubFunc() is private in
                          //    derived class
}

참고 항목

클래스 멤버에 대한 액세스 제어
키워드