阿摩線上測驗 登入

申論題資訊

試卷:107年 - 107 普考 程式設計概要#70567
科目:程式設計
年份:107年
排序:0

題組內容

一、請回答以下對 C/C++程式語言的敘述正確與否?如果敘述是錯誤的,需說明正確敘 述為何。(每小題 3 分,共 30 分)

申論題內容

⑻當不同的物件收到相同的訊息時,會以各自的方法作處理的特點稱為多載 (Overloading)。

詳解 (共 3 筆)

詳解 提供者:susu6289
False 多載是指名稱相同,但參數個數或型態不同的函數。 多載函數可使用於功能相近的函數,例如兩個函數名稱都是max,分別找出兩個整數最大者,及三個浮點數最大者 int max(int,int) float max(float,float,float)
詳解 提供者:hchungw

這個敘述是錯誤的。描述的特點實際上是指「多態性(Polymorphism)」,而不是「多載(Overloading)」。

在程式設計中,多態性是指允許不同類別的物件對相同的消息做出不同的響應。例如,在 C++ 中,這通常是通過使用虛函數(virtual functions)實現的,這允許派生類別重寫基類別的方法,並且當通過基類別的指針或引用調用時,執行適當的派生類別版本。

多載,另一方面,是指能夠讓多個函數或運算子有相同的名稱,但是參數的數量和/或類型不同,從而允許它們在不同的上下文中被呼叫。在 C++ 中,你可以多載函數和運算子。

所以正確的描述應該是:當不同的物件收到相同的訊息時,會以各自的方法作處理的特點稱為多態性。而多載是指同一個函數名稱或運算子用於不同參數列表的版本。

詳解 提供者:盛盛
應稱為多形 ( Polymorphism )