民國112年 第2梯次 電腦軟體設計(C++)乙級 學科

第59題

若具體類別Mouse 和Keyboard 實做介面類別USB,以下那一個錯誤?

題目

若具體類別Mouse 和Keyboard 實做介面類別USB,以下那一個錯誤?

  1. (1) 可以使用Keyboard 類別產生物件
  2. (2) 可以使用USB 類別產生物件
  3. (3) 可以使用Mouse 類別產生物件
  4. (4) Mouse 和 Keyboard 屬於同一個型態(Type)

官方答案

(2) 可以使用USB 類別產生物件

解析

介面類別(Interface)在 C++ 中由純虛擬函式組成,屬抽象類別,不能實體化(產生物件),只能被具體類別繼承並實作。Mouse 與 Keyboard 是實作 USB 介面的具體類別,可分别以 new Mouse()、new Keyboard() 產生物件(選項 1、3 正確);因兩者皆繼承 USB,在多型下可被視為同一種型態 USB(選項 4 正確)。只有選項 2「使用 USB 類別產生物件」違反抽象類別不可實體化的原則,故為錯誤選項。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料