2 [簡答題]
請使用VC6或使用【答題】菜單打開考生文件夾proj2下的工程proj2。其中有向量基類VectorBase、向量類Vector和零向量類ZeroVector的定義。請在橫線處填寫適當的代碼并刪除橫線,以實現上述類定義。該程序正確輸出結果應為:
(1,2,3,4,5)
(0,0,0,0,0,0)
注意:只能在橫線處填寫適當的代碼,不要改動程序中的其他內容,也不要刪除或移動“// ****found ****”。
參考解析:
【參考答案】 (1)getElement(1ength()-1)
(2)delete[]val
(3)S+=val[i]
(4)return 0.0;
【考點分析】
主要考查的是抽象基類VectorBase類及其派生類Vector和ZeroVector,其中涉及構造函數、純虛函數、const函數、動態數組和析構函數。
【解題思路】
(1)主要考查考生對成員函數的掌握,題目要求顯示最后一個元素。前面有純虛函數virtual double getElement(int i)const=0,因此可以直接調用getElemerit函數來取得最后一個元素,注意最后一個元素位置是Length()-1而不是Length()。
(2)主要考查考生對析構函數的掌握,前面定義了類的私有成員* val,因此析構函數要釋放val,使用delete語句完成。
(3)主要考查考生對for循環的掌握,由函數名double sum()eonsi可知,該函數要求元素之和,for循環語句的作用是遍歷整個數組,在此使用語句S+=val[i]完成程序。
(4)主要考查考生對成員函數的掌握,由該類的注釋:零向量類,可以了解到該類的元素都為零,因此無論要取第幾個元素都返回0,由于數據類型為double,所以為return0.0。
微信搜索"考試吧"了解更多考試資訊、下載備考資料
相關推薦: