問題詳情

4. 有關於程式語言中的函式多載(function overloading),請問何者敘述正確?
(A) 允許建立多個相同名字的函式,執行不同任務
(B) 重複載入同一個函式,執行相同任務
(C) 重新檢查函式是否錯誤
(D) 允許選擇各種不同名字函式,執行不同任務

參考答案

答案:A
難度:適中0.429
書單:沒有書單,新增

用户評論

【用戶】小彥子老師

【年級】高二上

【評論內容】函式多載(英語:function overloading)或方法多載,是某些程式語言(如 C++、C#、Java、Swift、Kotlin 等)具有的一項特性,該特性允許建立多個具有不同實現的同名函式。對多載函式的呼叫會執行其適用於呼叫上下文的具體實現,即允許一個函式呼叫根據上下文執行不同的任務。例如,doTask() 和 doTask(object o) 是多載函式。呼叫後者,必須傳入一個 object 作為參數,而呼叫前者時則不需要參數。一個常見的錯誤是在第二個函式中為 object 分配一個預設值,這將會導致意義模糊的呼叫錯誤,因為編譯器不知道使用這兩種方法中的哪一種。另一個例子是 Print(object o) 函式,它根據是列印文字還是相片來執行不同的操作。這兩個不同的功能可以多載為 Print(text_object T); Print(image_object P)。如果我們為程式中將要「列印」的所有物件編寫多載的列印函式,就不必擔心 object 的類型,再次呼叫相應的函式,呼叫始終是:Print(something)。