四川大學C++面向對象程序的設計模擬試題1_第1頁
四川大學C++面向對象程序的設計模擬試題1_第2頁
四川大學C++面向對象程序的設計模擬試題1_第3頁
四川大學C++面向對象程序的設計模擬試題1_第4頁
四川大學C++面向對象程序的設計模擬試題1_第5頁
已閱讀5頁,還剩6頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

C++面向對象程序設計模擬試題一一、單項選擇題(本大題共10小題,每小題2分,共20分)在每小題列出的四個備選項中,只有一個是符合題目要求的,請將其代碼填寫在題后的括號。錯選、多選或未選均無分。.說明虛函數的關鍵字是(B)。A)mimeB)virtualC)defineD)static2.在標準C++中,每個程序中都必須包含有這樣一個函數,該函數的函數名為(A)。D)fiinctionD)stdinD)fiinctionD)stdinC)privateD)staticB)公有數據成員D)靜態數據成員B)繼承D)運行時多態性C)delete D)templateB)必須使用虛函數D)必須使用publicB)只能帶一個參數D)只能帶3個參數A)niaui B)MAIN C)namecout是某個類的標準對象的引用,該類是(A)。A)ostreain B)istream C)stdout.如果在類外的非類的成員函數中有函數調用CPomt::fiinc():則函數fimc。是類CPoint的(C)oA)私有靜態成員函數 B)公有非靜態成員函數C)公有靜態成員函數 B)友元函數.如果class類中的所有成員在定義時都沒有使用關鍵字public^private或protected,則所有成員缺省定義為(C)。A)publicB)protected.一個類的所有對象共享的是(D)。A)私有數據成員C)保護數據成員.動態聯編所支持的多態性稱為(D)。A)虛函數C)編譯時多態性.定義類模板時要使用關鍵字(D)。A)const B)new.對虛基類的定義(A)。A)不需要使用虛函數C)必須使用piivate.類類型轉換函數(A)。A)不能帶有參數C)只能帶2個參數二、填空題(本大題共5小題,每小題2分,共10分)不寫解答過程,將正確的答案寫在每小題的空格。錯填成不填均無分。.在用C++進行程序設計時,最好用(new)代替malloce.函數模板中緊隨template之后尖括號的類型參數都要寇以保留字(class或typename)。.編譯時多態性可以用(重載)函數實現。.拷貝構造函數用它所在類的(對象)作為參數。.用關鍵字static修飾的類的成員稱為(靜態)成員。三、程序分析施(本大題共6小題,每小題5分,共30分)給出下面各程序的輸出結果。.閱讀下面程序,寫出輸出結果。#iiiclude<iostreain>usingnamespacestd;classArray(public:Airay(inta[]5intiSize):elem(a),size(iSize){}intGetSizeQ{returnsize;}int&operator[](inti){returnelemfi-1];}private:int*elem;intsize;};mtmam()(ints[]={3,7,2,1,5};Airayar(s,5);ai[l]=9;fbr(biti=1;i<=5;i++){cout?ar[i]?"}cout?endl;return0;}上面程序的輸出結果為:97215.閱讀下面程序,寫出輸出結果。#iiiclude<iostreain>usingnamespacestd;template<classType>voidPiiiit(Typea口,intn)(for(mti=0;i<n;i++){cout?a[i]?"”;}}mt(inta0={5,6,8};doubleb[]={6.8.9.6};Print(a,sizeof(a)/sizeof(int));Pnnt(b,2);cout?endl;retuin0;}上面程序的輸出結果為:5686.89.6.閱讀下面程序,寫出輸出結果。#iiiclude<iostreain>usingnamespacestd;classTest(public:Test(iiitn):num(n){count++;}~Test(){)voidPrint()const;voidPrmt()voidPrmt()staticmtGetCount(){returncount;}private:intnum;staticmtcount;};hitTest::count=0;voidTest::Priiit()const(cout?tliis->num?"“?this->count?””}mtmam()(TestoTestl(6);oTestl.Pnnt();TestoTest2(8);oTest2.Pnnt();cout?Test::GetCountQ;cout?endl;return0;}上面程序的輸出結果為:61822.閱讀下面程序,寫出輸出結果。#include<iostreain>usingnamespacestd;classTest(public:Test(iiita=0,intb=0,mtc=0):x(a),y(b),z(c){}cout?x?endl;cout?y?endl;}voidPriiit()const{cout?z?endl;}private:intx,y;constintz;};mtmam()(Testobj1;objl.Prmt();Testobj2(l,6.8);obj2.Prmt();constTestobj3(6,0,18);obj3.Prmt();cout?endl;return0;}上面程序的輸出結果為:001618.閱讀下面程序,寫出輸出結果。#include<iostreain>usingnamespacestd;classMyClass(private:staticmtn;public:MyClassQ{n+=1;}~MyClass(){n-=1;}staticmtGetNum(){returnn;}};mtMyClass::n=0;mt(cout?MyClass二GetNum()?endl;MyClassobj;cout?MyClass二GetNum()?endl;MyClass*p=newMyClass;cout?MyClass二GetNum()?endl;deletep;cout?MyClass二GetNum()?endl;cout?nendM?endl;return0;}上面程序的輸出結果為:0121end.閱讀下面程序,寫出輸出結果。#iiiclude<iostreain>usingnamespacestd;classA(private:inta;public:A(){coutw”無參構造函數”wendl:)A(mta){coutw”含參構造函數a=M?a?endl;}A(constA©):a(copy.a){coutw”更制構造函數“<vendl;}~A0{cout?"析構函數"endl;}};mt(Aobjl,obj2(l),obj3(obj2);return0;上面程序的輸出結果為:無參構造函數含參構造函數a=l更制構造函數析構函數析構函數析構函數四、完成程序填題(本大題共4個小題,每小題3分,共12分)下面程序都留有空白,請將程序補充完整。.將如下程序補充完整。#include<iostreain>usingnamespacestd;classTest(private:intnum;public:Test(iiitnum=0){[1]this->num或Integer::num=num;}〃初始化數據成員num為形參numintGetNum()const{retuinnum;}};mt(Testobj;cout?obj.GetNumQ?endl;return0;}.將如下程序補充完整。#iiiclude<iostreain>usingnamespacestd;classA(private:inta;public:A(iiitm):a(m){}voidShow()const{cout?a?endl;});classB:Aprivate:intb;public:B(intm,intn=0):⑵A(m),b(n){}//初始化數據成員b的值為nvoidShow()const(A::Show();cout?b?endl;}};mtmam()(Bobj(8);obj.ShowQ;return0;}.下列程序的輸出結果為:010試將程序補充完整。#include<iostreain>usingnamespacestd;classPoint(private:mtx,y;staticmtcount;public:Pouit(intm=0,mtn=0):x(m),y(n){count++;}~Point(){count";}intGetX()const{returnx;}intGetY()const{returny;}staticvoidShowCount(){cout?count?endl:});//靜態數據成員的初//靜態數據成員的初始化為omtmam()(Pomt::ShowCoiint();Point*p=newPoint;Pomt::ShowCoiint();deletep;Pomt::ShowCoiint();return0;}4.將如下程序補充完整。#iiiclude<iostreain>usingnamespacestd;classComplex(private:doublelealPart;doubleunagePart;public:Complex(doublereal=0,doubleimage=0):realPail(real),iinagePart(iinage){}doubleGetRealPart()const{leturnrealPait;}doubleGetniiagePail()const{returnunagePart;}Complexopeiator+(constComplex&a)const//重載加法運算符+{Complexb;b.realPart=this->realPail+a.realPait;b.iinagePart=this->iinagePart+a.iniagePart;returnb;}};mtmam()Complexa(l,2),b(2,6),c;c=a+b;cout?Ha=H?a.GetRealPartQ?,,+H?a.GetlmagePaitO endl;cout?Hb=n?b.GetRealPart()?,,+H?b.GetlinagePanQ? ?endl;cout?Mc=H?c.GetRealPartQ?,,+H?c.GetlniagePaitO endl;return0;}五、編程題(本大題共2小題,第1小題12分,第2小題16分,共28分).編寫一個函數模板,用于求參數的絕對值,并編寫測試程序進行測試。函數模板聲明如下:template<classType>TypeAbs(Typea);.參考程序:#include<iostreain>usingnamespacestd;template<classType>TypeAbs(Typea)(if(a>=0)returna;elsereturn-a;}mtmam()(cout?Abs(5)?endl;cout?Abs(-5)?endl;cout?Abs(2.5)?endl;cout?Abs(-2.5)?endl;return0;}.定義一個兔數類Complex,定義帶有2個參數(其中一個為缺省參數)的構造函數,顯示及數值的函數ShowQ,重載運算符(用成員函數實現),并編寫測試程序進行測試。參考程序:#include<iostreain>usingnamespacestd;return0;return0;)classComplexpublic:Complex(doubler,doublei=0)(real=r;image=i;}voidShow()(cout?real;if(linage>0)cout? ?image? ?

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論