private (C++)
구문
private:
[member-list]
private base-class
설명
클래스 멤버 private
목록 앞에 오는 경우 키워드(keyword) 클래스의 멤버 함수 및 친구에서만 해당 멤버에 액세스할 수 있도록 지정합니다. 이 설정은 다음 액세스 지정자 또는 클래스 끝까지 선언된 모든 멤버에 적용됩니다.
기본 클래스의 이름 앞에 오는 경우 키워드(keyword) 기본 클래스 private
의 public 및 protected 멤버가 파생 클래스의 프라이빗 멤버임을 지정합니다.
클래스에서 멤버의 기본 액세스는 전용입니다. 구조체나 공용 구조체에서 멤버의 기본 액세스는 공용입니다.
기본 클래스의 기본 액세스는 클래스에 대해 전용이고 구조체에 대해 공용입니다. 공용 구조체에 기본 클래스를 사용할 수 없습니다.
관련 정보는 클래스 멤버에 대한 액세스 제어에서 friend, public, protected 및 member-access 테이블을 참조하세요.
/clr 관련
CLR 형식에서 C++ 액세스 지정자 키워드(keyword)(public
private
및protected
)는 어셈블리와 관련된 형식 및 메서드의 표시 유형에 영향을 줄 수 있습니다. 자세한 내용은 멤버 액세스 제어를 참조 하세요.
참고 항목
/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
}
참고 항목
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기