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

對於C++程式基礎類別A 與其衍生類別B,以下敘述那一個正確?

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

難易度分析

2 / 5

本題考查 C++ 類別繼承機制中,不同存取修飾詞對成員可見性的影響,以及基礎類別與衍生類別之間的存取權限邏輯。

正確答案:③B 中定義的函式可以使用A 中定義的保護資料成員

③ B 中定義的函式可以使用A 中定義的保護資料成員:保護成員(protected)的設計目的正是允許衍生類別存取基礎類別的資料成員,同時對外維持封裝性,此為 C++ 繼承機制的標準行為。

錯誤選項解析

  • ① B可使用A 的私有函式:私有成員(private)僅限該類別自身存取,衍生類別無法直接使用基礎類別的私有函式,此為 C++ 封裝特性的核心設計。
  • ② A 中定義的函式可以使用B 中定義的公開函式:基礎類別在編譯時期無法知曉衍生類別的存在,因此 A 中定義的函式無法呼叫 B 中定義的任何函式,這違反了繼承的單向依賴原則。
  • ④ A 中定義的函式可以使用B 中定義的私有資料成員:基礎類別不包含衍生類別的任何資訊,A 無法存取 B 的私有資料成員,這同樣基於編譯期型別系統的限制與封裝原則。
Learning Tip

"此題核心考點為 C++ 存取修飾詞(public / protected / private)在繼承關係中的可見性規則。常考陷阱在於混淆「基礎類別能否使用衍生類別成員」——答案永遠是否定的,因為繼承是單向依賴。實務上應優先使用 protected 而非 public 來開放衍生類別存取,以維持適當的封裝層級。"

學員答題分佈

①B可使用A 的私有函式0%
②A 中定義的函式可以使用B 中定義的公開函式0%
③B 中定義的函式可以使用A 中定義的保護資料成員0%
④A 中定義的函式可以使用B 中定義的私有資料成員0%

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

相似類型題目