私用 (C++)
private:
[member-list]
private base-class
備註
當之前的類別成員的清單private關鍵字指定的成員只能從成員函式和類別的朋友。 這適用於所有的成員宣告到下一步的存取規範或類別的結尾為止。
當之前的基底類別中,名稱private關鍵字指定基底類別的公用和受保護成員的衍生類別的私用成員。
預設存取權的類別中的成員是私用的。 在結構或等位成員的預設存取權是公用的。
基底類別的預設存取權是類別的私用和公用結構。 等位不能有基底類別。
如需相關資訊,請參閱朋友, 公用, 保護,和成員存取資料表,在 控制存取類別成員。
在 /clr 特定
在 CLR 型別 C++ 會存取規範關鍵字 (公用, private,以及protected) 可能會影響到型別和組件與相關方法的可視性。 如需詳細資訊,請參閱 型別和成員的可視性。
注意事項 |
---|
使用編譯的檔案用不會受到這個問題。在此情況下,會顯示所有的 managed 的類別 (公用或私用)。 |
範例
// 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
}