私有(C++)
private:
[member-list]
private base-class
备注
在位于类成员列表时, private 关键字指定这些成员从成员类的功能和 friends 身份验证的用户访问。 这适用于所有成员声明到下一个访问说明符或类的末尾。
在前面基类的名称时, private 关键字指定基类的公共成员和受保护的成员是派生类的私有成员。
成员默认访问类的私有的。 成员默认访问结构或联合的是公共的。
基类的默认对类和社区是私有的结构。 联合不能具有基类。
有关相关信息,请参见 friend、 公共、 保护和成员访问表在 对类成员的控件访问。
/clr 特定
在 CLR 类型, C++ 访问说明符关键字 (公共、 private和 protected) 可能会影响类型和方法的可见性有关程序集。 有关更多信息,请参见 类型和成员可见性。
备注
文件编译 /LN 不影响的受此行为。在此情况下,所有托管类 (公共或私有) 将可见。
示例
// 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
}