當類別成員被指定為 private 時,它只能被該類別的成員函數、其友元函數(friend functions)和友元類別(friend classes)存取。這是C++的訪問控制的一部分,private 成員對類的外部是隱藏的,這有助於實現封裝和資料隱藏。
下面是一個簡單的示例:
class MyClass {
private:
int privateData; // 私有成員,只能在類的內部或其友元中被訪問
public:
void memberFunction() {
privateData = 1; // 成員函數可以訪問私有成員
}
friend void friendFunction(MyClass &obj); // 友元函數可以訪問私有成員
};
void friendFunction(MyClass &obj) {
obj.privateData = 2; // 友元函數可以訪問私有成員
}
在上面的例子中,privateData 成員變量是私有的,只能被 MyClass 的成員函數 memberFunction 和友元函數 friendFunction 存取。任何不是類的成員或指定為友元的函數或類別都無法直接訪問 private 成員。