阿摩線上測驗 登入

申論題資訊

試卷:111年 - 111 關務特種考試_四等_資訊處理:程式設計概要#107605
科目:程式設計
年份:111年
排序:0

題組內容

一、有關 C++物件導向程式設計,請回答下列問題:

申論題內容

(四)當類別成員指定為何者時,只能由類別的成員函數和類別的朋友來存 取?

詳解 (共 2 筆)

詳解 提供者:114年高考上榜

private 

詳解 提供者:hchungw
當類別成員被指定為 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 成員。