民國107年 第2梯次 電腦軟體設計(C++)乙級 學科
第2題
下列關於「樣板函式」(Template Function)的描述,何者不正確?
題目
下列關於「樣板函式」(Template Function)的描述,何者不正確?
- (1) 以同樣的函式碼處理不同的參數型態
- (2) 可以動態改變函式中的變數型態
- (3) 可以宣告傳回值
- (4) 須與「超載化函式」(Overloaded F unctions)一起使用
官方答案
(4) 須與「超載化函式」(Overloaded F unctions)一起使用
解析
樣板函式(function template)是在編譯時期根據傳入的型態參數自動產生多份不同型態的函式碼,屬靜態多型(static polymorphism)。選項4「須與超載化函式一起使用」不正確:樣板函式與函式超載(overloading)是兩種獨立、可互換的機制,樣板並不需要搭配超載函式也能運作,實務上樣板常被用來取代大量雷同的超載函式。選項1正確,樣板正是為了用同一份程式碼處理多種參數型態;選項3正確,樣板函式可宣告傳回值(也可將傳回值設為樣板參數);選項2雖以「動態」描述不夠精確(實為編譯期決定型態),但樣板確實能讓函式適用不同型態,故最明顯的錯誤是4。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。