農會 資訊管理類程式設計110 年第 33 題單選題
在C++類別(class)中的成員變數可以宣告為下列何者?
Apublic正確答案
Bprotected正確答案
Cvirtual
Dprivate正確答案
A、B、D正確答案
C++類別成員變數可使用public、protected、private存取修飾詞,但不可使用virtual關鍵字。
為什麼答案是 A、B、D
public為存取修飾詞,允許外部直接存取該成員變數,完全適用於類別成員變數的宣告。
考點:存取修飾詞考點:虛擬關鍵字
載入中…
完整詳解
Pro · 無限重點 C++類別成員變數可使用public、protected、private存取修飾詞,但不可使用virtual關鍵字。
秒解:變數只能控制「存取許可權」(public/protected/private),virtual只能用於「函式」以實現多型。
逐選項分析
A存取修飾詞✓ 正確
public為存取修飾詞,允許外部直接存取該成員變數,完全適用於類別成員變數的宣告。
B存取修飾詞✓ 正確
protected為存取修飾詞,允許衍生類別存取該成員變數,完全適用於類別成員變數的宣告。
C虛擬關鍵字✕ 陷阱
virtual用於宣告虛擬函式以實現多型,C++不支援虛擬成員變數,故無法用於變數宣告。
D存取修飾詞✓ 正確
private為存取修飾詞,限制僅類別內部成員函式可存取該變數,是封裝的核心,適用於變數宣告。
C++ 類別成員修飾詞適用範圍
| 修飾詞 | 成員變數 | 成員函式 | 主要用途 |
|---|
| public | 可 | 可 | 開放外部存取 |
| protected | 可 | 可 | 開放衍生類別存取 |
| private | 可 | 可 | 限制僅類別內部存取 |
| virtual | 不可 | 可 | 實現執行期多型 |
考生常將物件導向的多型概念誤套用到變數上。請記住:C++中只有行為(函式)能被覆寫而產生多型,狀態(變數)無法被虛擬化,故沒有virtual變數。