農會 資訊管理類程式設計108 年第 9 題單選題
在C++程式語言的類別中,成員變數宣告為下列何者時,其繼承類別能存取該變數?
Apublic正確答案
Bprivate
Cprotected正確答案
Dstatic
Eprotect
A、C正確答案
C++ 類別成員宣告為 public 或 protected 時,繼承類別可直接存取;private 則限於類別內部使用。
為什麼答案是 A、C
public 為公開成員,類別內外及繼承類別皆可自由存取。
考點:公開成員考點:私有成員考點:保護成員考點:靜態變數
載入中…
完整詳解
Pro · 無限重點 C++ 類別成員宣告為 public 或 protected 時,繼承類別可直接存取;private 則限於類別內部使用。
判斷繼承存取許可權只看 public 與 protected;private 無法繼承存取。注意 static 是生命週期屬性,protect 是拼字錯誤。
逐選項分析
A公開成員✓ 正確
public 為公開成員,類別內外及繼承類別皆可自由存取。
B私有成員✕
private 為私有成員,僅限類別內部存取,繼承類別無法直接存取。
C保護成員✓ 正確
protected 為保護成員,類別內部與繼承類別可存取,但類別外部不可。
D靜態變數✕ 陷阱
static 為靜態修飾子,控制變數生命週期與記憶體配置,並非存取許可權控制。
E拼字陷阱✕ 陷阱
C++ 並無 protect 關鍵字,正確拼字為 protected,此為常見拼字誘答陷阱。
C++ 存取許可權修飾子對照表
| 修飾子 | 類別內部 | 繼承類別 | 類別外部 |
|---|
| public | 可存取 | 可存取 | 可存取 |
| protected | 可存取 | 可存取 | 不可存取 |
| private | 可存取 | 不可存取 | 不可存取 |
選項 E 的 protect 是常見的拼字陷阱,C++ 正確關鍵字為 protected。選項 D 的 static 屬於儲存期限修飾子,並非控制繼承存取的許可權修飾子,考生易因名詞相似或概念混淆而誤選。