阿摩線上測驗 登入

申論題資訊

試卷:96年 - 96 公務升官等考試_薦任_資訊處理:程式語言#34452
科目:程式語言
年份:96年
排序:0

題組內容

二、void virtualReference ( const Obj &baseRef ) { baseRef.printname( ); cout << “ Area =” << baseRef.area( ) << “ Volume = ” << baseRef.vol( ) << “ Price = ” << baseRef.Price( ) << “ ”; } 假設某公司所處理之物品主要為圓盤物件,液體溶劑,以及長方體磚塊三種,請設 計三個類別(class)Plate,Liquid 及 Cube 分別用以代表圓盤物件、液體溶劑、以 及長方體磚塊。並利用 Virtual Class 設計類別 Obj 以實作 polymorphism,使得上面 所定之 VirtualReference 可依所傳入之物品為圓盤物件,液體溶劑,或長方體磚塊分 別印出所需之不同資訊。其中 baseRef.area( ) 必須印出物件之面積,baseRef.vol( ) 必須印出物件之體積,baseRef.Price( ) 必須印出物件之售價。任何物件若無某一特 質則需印出 0.0 。例如:若無面積,則印出 Area = 0.0。在 printname( )中,圓盤物 件要印出 circular,液體溶劑印出 liquid,長方體磚塊印出 cubic。此三物品之特性及 必須印出之資訊分別為:

申論題內容

⑶長方體磚塊具長、寬、高三特性,其面積為表面積大小(即 2 倍的(長*寬+ 寬*高+高*長))。體積為長乘寬乘高(長*寬*高)。其售價為 2 倍體積大小。 (25 分)