




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
/得分一、選擇題。在題后括號內,填上正確答案代號。(本大題共10小題,每小題2分,共20分)1、下列有關內聯函數的敘述中,正確的是(d)A、內聯函數在調用時發生控制轉移 B、是否最后內聯由編譯器決定C、必須通過關鍵字inline來定義 D、是否最后內聯由編譯器決定2、以下哪一關鍵字可用于重載函數的區分(d)A、extern B、static C、const D、virtual3、下列有關繼承和派生的敘述中,正確的是(c)A、派生類不能訪問通過私有繼承的基類的保護成員B、派生類不能訪問通過保護繼承的基類的公有成員C、派生類對象不能訪問通過私有繼承的基類的公有成員D、派生類對象不能訪問通過公有繼承的基類的公有成員4、以下哪個關鍵字對應的屬性破壞了程序的封裝性(b)A、const B、friend C、public D、protected5、在下列關于C++函數的敘述中,正確的是(c)A、每個函數至少要有一個參數 B、每個函數都必須返回一個值C、函數在被調用之前必須先聲明 D、函數不能自己調用自己6、對于類的常成員函數的描述正確的是(d)A、 常成員函數不能訪問類的數據成員B、常成員函數可以對類的數據成員進行修改C、常成員函數只能由常對象調用D、常成員函數不修改類的數據成員7、下列關于new運算符的描述中,哪個是錯誤的?(d)A、它可以用來動態創建對象和對象數組;B、使用它創建的對象或對象數組,可以使用delete刪除;C、使用它創建對象時要調用構造函數;D、使用它創建對象數組時必須指定初始值。8、下列運算符中,哪一個不能重載?(c)A、<<B、>>C、()D、?:9、下列函數參數默認值定義錯誤的是(c)A、Fun(intx,inty=0)
B、Fun(intx=100)C、Fun(intx=0,inty)D、Fun(intx=f())
(假定函數f()已經定義)10、下列情況中,哪一種情況不會調用拷貝構造函數(B)A、用派生類的對象去初始化基類對象時TB、將類的一個對象賦值給該類的另一個對象時C、函數的形參是類的對象,調用函數進行形參和實參結合時D、函數的返回值是類的對象,函數執行返回調用者時T得分二、填空題。在題中“”處填上答案。(本大題共5小題,共10分)1、類的三大基本特征是:類的封裝性、多態性和_繼承性_。2.在C++中,不能為抽象類定義對象。3.在定義派生類時,默認的繼承方式是私有繼承。4.構造函數中調用虛函數時,采用動態聯編。5、在ifstream的構造函數中其默認的打開方式為(讀入/輸入方式)iso::in。得分三、程序閱讀。(每題5分,共20分)1、下面程序的輸出結果是36。#include<iostream>usingnamespacestd;inti=10;intfun(intn){ staticinta=6; a++; returna+n;}voidmain(){ intk=8; { inti=3; k+=fun(i); } k+=fun(i); cout<<k;}2、下面程序的輸出結果是。#include<iostream>usingnamespacestd;voidswap(int&v1,int&v2){inttemp;temp=v2;v2=v1;v1=temp;}voidswap(int*v1,int*v2){inttemp;temp=*v2;*v2=*v1; *v1=temp;}voidmain(){ inti=18; intj=20; swap(i,j); swap(&i,&j);cout<<i<<","<<j<<endl;}3、下面程序的輸出結果是。#include<iostream>usingnamespacestd;classBase{public: Base(inti) { cout<<i; }};classBase1:virtualpublicBase{public: Base1(inti,intj=1):Base(j) { cout<<i; }};classBase2:virtualpublicBase{public: Base2(inti,intj=2):Base(j) { cout<<i; }};classDerived:publicBase2,publicBase1{public: Derived(inta,intb,intc,intd):member1(a),member2(b),Base1(c),Base2(d),Base(a) { cout<<d; }private: Base1member1; Base2member2;};voidmain(){ DerivedobjD(3,4,5,6);}4、下面程序的輸出結果是。#include<iostream>usingnamespacestd;classBase{public: virtualvoidf() { cout<<"Bf"; } voidg() { cout<<"Bg"; }};classDerived:publicBase{public: voidf() { cout<<"Df"; } voidg() { cout<<"Dg"; }};voidmain(){ Derivedd; Base*p=&d; p->f(); p->g();}得分四、程序填空。(每空2分,共24分)1、下面是個Cat類的聲明與使用,請補充完整。#include<iostream>usingnamespacestd;classCat{ staticintcount;public: Cat() { count++; cout<<"Nowcatnumberis"<<count<<endl; } ~Cat() { count--; cout<<"Nowcatnumberis"<<count<<endl; }};(1)=0;intmain(){ Cata,b,c; return0;}2、已知文件之間具有以下的包含關系(用#include指令);Rectangle.cpp包含Rectangle.h,Rectangle.cpp同時包含Point.h,Rectangle.h包含Point.h。那么如下的Point.h文件缺少什么語句,請補充完整。//Point.h文件#ifndefPOINTH(2)classPoint{ ...}
;#endif3、使用命令行參數來編寫主函數實現copy功能,編譯完生成可執行程序copy.exe;在運行copy.exe時指定需要拷貝的文件。例如D:\copy.exetest1.txttext2.txt//copy.cpp#include<fstream>#include<iostream>usingnamespacestd;voidmain(intcount,(3)char*argv[]){ charc; ifstreaminfile; ofstreamoutfile; if((4)count!=3){cout<<"參數個數不對!\n";return;} infile.open(argv[1],ios::in); outfile.open(argv[2],(5)ios::out); if(!infile){cout<<"infileopenerror!\n";return;} if(!outfile){cout<<"outfileopenerror!\n";return;} while(infile.get(c)) (6)outfile.put(c); infile.close(); (7)outfile.close();}4、下面程序是一個學生類的定義,可以使用一個已有的對象來初始化新的對象,請把程序補充完整。#include<string>#include<iostream>usingnamespacestd;classStudent{private: char*name;public:Student(char*na)//構造函數{ name=new(8)char[strlen(na)+1]; if(name!=0) { (9)strcpy(name,na); } }Student(Student&p){ name=_(10)____newchar[strlen()+1]_____________________;專業班級專業班級學號姓名………………………裝訂線…………………… (strcpy(name,))____________________; } ~Student() { (deletename[])__________________; } };//類定義的結束voidmain(){ Studentwang("wang"); Studentli(wang);}得分五、編程題。(共26分)1、編寫模板函數min_value()分別求三個整數,三個雙精度數,或者數值類型的三個數據,函數的返回值是這幾個數中的最小的值。(本小題8分)
2、聲明矩形類Rectangle。已知該類有左上角坐標的成員數據為myPoint,高high、寬width都為double類型。(本小題8分)對應代碼如下,請完成Rectangle類的兩個構造函數的實現:#include<iostream>usingnamespacestd;classmyPoint //myPoint類定義{public: myPoint(intxx,intyy) { X=xx; Y=yy; } myPoint(myPoint&p) { X=p.X; Y=p.Y; }private: intX,Y;};classRectangle{private: myPointlefttop; doubleHeight; doubleWidth;public:Rectangle(intx,inty,doublew,doubleh):LEFTTOP(X,Y){This->Width=w;This->Height=h;}Rectangle(Rectangle&r);:lefttop(r.lefttop){this->width=r.w;this->height=r.h};//補充代碼:
3、自定義的復數類聲明如下,要實現主函數的代碼,請把復數類中聲明的函數代碼補充完整。(本小題10分)#include<iostream>usingnamespacestd;classcomplex //復數類聲明{public: complex(doubler=0.0,doublei=0.0) { real=r; imag=i; } com
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 領導科學考試背景與重要性分析試題及答案
- 網絡安全事件響應服務合同
- 杭州市房屋買賣合同(18篇)
- 時光都去哪了演講稿(10篇)
- 農業發展政策與農村經濟管理試題
- 財務成本管理實務模擬考試卷及答案解析
- 智能安防系統集成與安裝工程合同
- 計算機三級嵌入式學習路徑試題及答案
- 信息系統監理師考生如何制定計劃試題及答案
- 嵌入式系統應用案例分析試題及答案
- 電烤箱溫度控制系統設計
- 地基釬探技術交底
- 2023年四川省水電投資經營集團普格電力有限公司招聘筆試題庫含答案解析
- 2023屆湖北省武漢市東湖高新區數學六年級第二學期期末綜合測試試題含解析
- (完整版)高級法學英語課文翻譯
- 無人機項目融資商業計劃書
- 食品營養學(暨南大學)智慧樹知到答案章節測試2023年
- 商戶撤場退鋪驗收單
- 部編版小學道德與法治三年級下冊期末質量檢測試卷【含答案】5套
- 斷親協議書范本
- 五年級語文下冊第八單元【教材解讀】課件
評論
0/150
提交評論