private (C++)

구문

private:
   [member-list]
private base-class

설명

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

기본 클래스의 이름 앞에 오는 경우 키워드(keyword) 기본 클래스 private 의 public 및 protected 멤버가 파생 클래스의 프라이빗 멤버임을 지정합니다.

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

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

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

/clr 관련

CLR 형식에서 C++ 액세스 지정자 키워드(keyword)(publicprivateprotected)는 어셈블리와 관련된 형식 및 메서드의 표시 유형에 영향을 줄 수 있습니다. 자세한 내용은 멤버 액세스 제어를 참조 하세요.

참고 항목

/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
}

참고 항목

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