阿摩線上測驗
登入
首頁
>
物件導向程式設計
>
107年 - 107 一般警察特種考試_三等_警察資訊管理人員:物件導向程式設計#69731
> 申論題
題組內容
一、表一為用來實現兩數運算的 C#程式碼,Operation.cs 檔案定義了三個類別;IFactory.cs 定義了一個介面及兩個類別;Program.cs 則定義了 Program 類別。
表一:
請根據表一回答以下問題:
⑸ IFactory operFactory = new AddFactory(); 這段程式碼用到了物件導向程式設計三 大特性中的那一個特性?(2 分)
相關申論題
⑹請依據表一的程式碼畫出 UML 類別圖。 (15 分)
#280168
⑴請以 C++程式語言實現 QueueAsArray(int size)、~QueueAsArray()、enqueue()、 dequeue() 、 display() 、 isFull() 、 isEmpty() 之 功 能 , 並 將 此 程 式 碼 存 於 QueueAsArray.cpp 中,若物件使用到動態記憶體配置,則在執行解構子時要釋放 該記憶體空間。(20 分)
#280169
⑵根據表三,請問指標 queue 指向的佇列物件可儲存幾個元素?(2 分)
#280170
⑴將 Shape 類別修改成抽象類別。(3 分)
#280172
⑵用常數函式的概念來避免在執行 getArea()函式時,修改到 Circle 或 Square 物件成 員的值。(3 分)
#280173
⑶在 Circle 類別中,有一個圓周率 PI 的資料成員,這份程式碼的缺陷是,每生成一 個 Circle 物件,就需要一塊記憶體來記錄 PI 值,造成記憶體的浪費,請用 static 成員的概念來改善 Circle 類別的程式碼。(3 分)
#280174
⑷當幾何參數小於等於 0 時,執行 Circle 或 Square 的建構子時,物件依然能夠生成, 但面積的計算會出錯,例如,當傳入的參數是-2 時,生成的 Square 物件,執行 getArea()後會傳回 4。這是類別設計上的瑕疵,為了改善這個狀況,應該利用靜態 (static)方法的概念設計一個 Create()的函數,當幾何參數小於等於 0 時,傳回 Null 指標,而當幾何參數大於 0 時,則呼叫該類別的建構子。(6 分)
#280175
⑸在表五中我們產生 10 個亂數,亂數的範圍是從-3 到 6,我們把這 10 個亂數儲存在 data 陣列中,接下來我們利用 data 陣列的資料來產生 Circle 及 Square 物件,當 陣列的 index 是偶數時產生 Circle 物件,奇數時產生 Square 物件,將這些物件以 父類別指標 Shape* 的形式記錄下來,並將其加入到 vector 容器中。用 vector 的 iterator 功能將 vector 所有的物件取出計算其面積並加總,而後輸出結果。請以 C++ 語言完成表五的程式碼。(15 分)
#280176
⑴複數之類別名稱為 Complex,有兩個 private 等級的資料成員,分別是_radius 以及 _angle,_radius 代表 r,_angle 代表θ 。(3 分)
#280177
⑵請用 inline 函數來實現資料成員的存取。 (3 分)
#280178
相關試卷
114年 - 114 一般警察特種考試_三等_警察資訊管理人員:物件導向程式設計#127697
114年 · #127697
113年 - 113 一般警察特種考試_三等_警察資訊管理人員:物件導向程式設計#120499
113年 · #120499
112年 - 112 一般警察特種考試_三等_警察資訊管理人員:物件導向程式設計#114916
112年 · #114916
111年 - 111 一般警察特種考試_三等_警察資訊管理人員:物件導向程式設計#108591
111年 · #108591
110年 - 110 一般警察特種考試_三等_警察資訊管理人員:物件導向程式設計#101665
110年 · #101665
109年 - 109 一般警察特種考試_三等_警察資訊管理人員:物件導向程式設計#87106
109年 · #87106
108年 - 108 一般警察特種考試_三等_警察資訊管理人員:物件導向程式設計#76983
108年 · #76983
107年 - 107 一般警察特種考試_三等_警察資訊管理人員:物件導向程式設計#69731
107年 · #69731
106年 - 106 一般警察特種考試_三等_警察資訊管理人員:物件導向程式設計#62428
106年 · #62428
105年 - 105 一般警察特種考試_三等_警察資訊管理人員:物件導向程式設計#53368
105年 · #53368