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

設計一個命名為run 的C++虛擬函式,以下那ㄧ個宣告正確?

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

難易度分析

2 / 5

本題考查 C++ 成員函式宣告的語法規範,需精確辨識關鍵字在宣告過程中的擺放位置。

正確答案:②virtual void run() const =0;

② virtual void run() const =0;:此為正確的純虛擬函式宣告語法。virtual 關鍵字置於回傳型別前,const 置於參數列後表示此函式不修改物件成員,=0 表示純虛擬函式,使該類別成為抽象類別。

錯誤選項解析

  • ① const void run();:const 修飾詞不能放在回傳型別之前,此語法在 C++ 中屬於無效宣告。正確用法應將 const 置於函式參數列之後,用於修飾成員函式不修改物件狀態。
  • ③ const void run()=0;:缺少 virtual 關鍵字,無法宣告為虛擬函式。且 const 修飾詞位置錯誤,應置於函式名稱與參數列之後,而非回傳型別之前。
  • ④ void run()virtual=0:語法順序完全錯誤。virtual 關鍵字必須置於函式宣告最前端,且 =0 前應使用標準等號而非全形符號。C++ 不支援此種宣告順序。
Learning Tip

"C++ 虛擬函式宣告的標準語法順序為:`virtual 回傳型別 函式名稱(參數) const(可選) =0(純虛擬可選)`。常考陷阱包括:const 修飾詞的正確位置(必須在參數列之後)、virtual 關鍵字必須在最前方、以及純虛擬函式的 `=0` 語法。需特別注意抽象類別至少包含一個純虛擬函式,無法直接實體化。"

學員答題分佈

①const void run();0%
②virtual void run() const =0;0%
③const void run()=0;0%
④void run()virtual=00%

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

相似類型題目