LONGEPASS
電腦軟體設計(C++)/C++/Q87
簡單
正確率 -
Q87.

下列有關類別中宣告成protected 的資料成員(Data Member)和方法(Method) 何者是正確的?

電腦軟體設計(C++) · 乙級 · C++ · Q87

難易度分析

2 / 5

本題旨在測驗對類別封裝機制中不同存取權限定義的掌握程度,需能精確區分各類修飾詞的適用範圍。

正確答案:②可以被繼承自該類別的子類別所用

② 可以被繼承自該類別的子類別所用:protected 存取修飾詞的核心設計目的即為允許衍生類別(子類別)存取父類別的成員,同時對外層隱藏,此為繼承機制中封裝與程式碼複用的關鍵特性。

錯誤選項解析

  • ① 不可以被宣告該資料成員或方法的類別所用:protected 成員可以被宣告它的類別自身正常使用,此敘述與實際存取規則相反。
  • ③ 應用程式中任何地方都可以使用:此敘述描述的是 public 成員的特性,protected 成員無法在類別外部或無關的函式中被直接存取。
  • ④ 除了宣告該資料成員或方法的類別可以使用外,其他地方都不可以使用:此敘述描述的是 private 成員的特性,protected 除了自身類別可使用外,還可被繼承的子類別存取。
Learning Tip

"C++ 的存取控制分為 public(完全開放)、protected(自身+子類別)、private(僅自身)三層級。常考陷阱在於混淆 protected 與 private 的差異,切記 protected 的核心價值在於支援繼承架構下的受控存取,而非完全封閉。"

學員答題分佈

①不可以被宣告該資料成員或方法的類別所用0%
②可以被繼承自該類別的子類別所用0%
③應用程式中任何地方都可以使用0%
④除了宣告該資料成員或方法的類別可以使用外,其他地方都不可以使用0%

此答題分佈是根據學員在 LongePass 模擬考等實際作答紀錄計算而成。與考友分享這道歷屆試題與詳細解析!

相似類型題目