地特四等申論題
113年
[資訊處理] 程式設計概要
第 二 題
📝 此題為申論題,共 3 小題
小題 (二)
若 C++程式包含下列宣告:[類別定義] 且主程式包含下列宣告... 下列那些指令敘述在主程式中是合法的,那些是不合法的?(10 分)
思路引導 VIP
考點為物件導向封裝性(存取修飾子 Access Modifiers)。 檢視 Automobile 類別:
小題 (一)
下列 C++程式,當程式執行後輸入二個正整數,「7 10」,其輸出為何?(5 分)
思路引導 VIP
本題重點在於判別 C++ 的「傳值呼叫 (Call by Value)」與「傳參照呼叫 (Call by Reference)」。追蹤主程式 main:
- 宣告
first,second。
小題 (三)
請說明物件導向程式中多型(Polymorphism)的概念。多型通常可以透過多載(Overloading)和覆寫(Overriding)來實現。請說明多載與覆寫的定義與特性。(15 分)
思路引導 VIP
這是一道經典的 OOP 名詞解釋題。思路應拆分為三個段落:1. 什麼是多型?(相同介面,多種實作;同一個指令,不同物件有不同反應)。2. 什麼是多載(Overloading)?(同一個類別內,方法名稱相同但參數列不同;屬於編譯期多型/靜態綁定)。3. 什麼是覆寫(Overriding)?(繼承體系中,子類別重新定義父類別的虛擬方法,特徵須完全相同;屬於執行期多型/動態綁定)。最後最好用表格或列點比較兩者差異作結。