LONGEPASS
電腦軟體設計(C++)/C++/Q67
中等
正確率 -
Q67.

有一個類別A,定義如下,欲使用類別A 內之成員,下列之寫法何者是正確的?電腦軟體設計(C++) 乙級 C++ 第 67 題 題目 圖片

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

難易度分析

3 / 5

本題考查對類別成員存取權限的辨識,以及區分不同性質函式之呼叫語法結構的掌握程度。

正確答案:④f(y)

④ f(y):f(y) 是正確寫法,友元函式雖然被宣告在類別內部並擁有存取私有成員的權限,但其本質仍是獨立的全域函式,應直接以函式名稱呼叫並傳入物件作為引數。

錯誤選項解析

  • ① x.w:x.w 是錯誤寫法,因為 w() 是類別 A 的公開成員函式而非成員變數,正確呼叫方式應加上括號寫成 x.w()。
  • ② x.i:x.i 是錯誤寫法,因為 i 是類別 A 的私有成員變數(宣告於 private 區塊),無法透過物件實體從類別外部直接存取。
  • ③ x.f(y):x.f(y) 是錯誤寫法,因為 f(A w) 是友元函式(friend function)而非成員函式,友元函式不屬於類別成員,不能使用物件成員存取運算子 . 來呼叫。
Learning Tip

"本題核心考點為 C++ 友元函式(friend function) 的存取特性。常考陷阱在於混淆友元函式與成員函式的呼叫語法:友元函式雖在類別內以 friend 關鍵字宣告,但並非類別成員,呼叫時不可使用物件.函式() 的語法,而應直接呼叫。另外需注意私有成員(private)無法從類別外部直接存取,而成員函式呼叫時必須加上括號 ()。"

學員答題分佈

①x.w0%
②x.i0%
③x.f(y)0%
④f(y)0%

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

相似類型題目