四川大學(xué)C++面向?qū)ο蟪绦虻脑O(shè)計模擬試題1_第1頁
四川大學(xué)C++面向?qū)ο蟪绦虻脑O(shè)計模擬試題1_第2頁
四川大學(xué)C++面向?qū)ο蟪绦虻脑O(shè)計模擬試題1_第3頁
四川大學(xué)C++面向?qū)ο蟪绦虻脑O(shè)計模擬試題1_第4頁
四川大學(xué)C++面向?qū)ο蟪绦虻脑O(shè)計模擬試題1_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

C++面向?qū)ο蟪绦蛟O(shè)計模擬試題一一、單項選擇題(本大題共10小題,每小題2分,共20分)在每小題列出的四個備選項中,只有一個是符合題目要求的,請將其代碼填寫在題后的括號。錯選、多選或未選均無分。.說明虛函數(shù)的關(guān)鍵字是(B)。A)mimeB)virtualC)defineD)static2.在標準C++中,每個程序中都必須包含有這樣一個函數(shù),該函數(shù)的函數(shù)名為(A)。D)fiinctionD)stdinD)fiinctionD)stdinC)privateD)staticB)公有數(shù)據(jù)成員D)靜態(tài)數(shù)據(jù)成員B)繼承D)運行時多態(tài)性C)delete D)templateB)必須使用虛函數(shù)D)必須使用publicB)只能帶一個參數(shù)D)只能帶3個參數(shù)A)niaui B)MAIN C)namecout是某個類的標準對象的引用,該類是(A)。A)ostreain B)istream C)stdout.如果在類外的非類的成員函數(shù)中有函數(shù)調(diào)用CPomt::fiinc():則函數(shù)fimc。是類CPoint的(C)oA)私有靜態(tài)成員函數(shù) B)公有非靜態(tài)成員函數(shù)C)公有靜態(tài)成員函數(shù) B)友元函數(shù).如果class類中的所有成員在定義時都沒有使用關(guān)鍵字public^private或protected,則所有成員缺省定義為(C)。A)publicB)protected.一個類的所有對象共享的是(D)。A)私有數(shù)據(jù)成員C)保護數(shù)據(jù)成員.動態(tài)聯(lián)編所支持的多態(tài)性稱為(D)。A)虛函數(shù)C)編譯時多態(tài)性.定義類模板時要使用關(guān)鍵字(D)。A)const B)new.對虛基類的定義(A)。A)不需要使用虛函數(shù)C)必須使用piivate.類類型轉(zhuǎn)換函數(shù)(A)。A)不能帶有參數(shù)C)只能帶2個參數(shù)二、填空題(本大題共5小題,每小題2分,共10分)不寫解答過程,將正確的答案寫在每小題的空格。錯填成不填均無分。.在用C++進行程序設(shè)計時,最好用(new)代替malloce.函數(shù)模板中緊隨template之后尖括號的類型參數(shù)都要寇以保留字(class或typename)。.編譯時多態(tài)性可以用(重載)函數(shù)實現(xiàn)。.拷貝構(gòu)造函數(shù)用它所在類的(對象)作為參數(shù)。.用關(guān)鍵字static修飾的類的成員稱為(靜態(tài))成員。三、程序分析施(本大題共6小題,每小題5分,共30分)給出下面各程序的輸出結(jié)果。.閱讀下面程序,寫出輸出結(jié)果。#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;}上面程序的輸出結(jié)果為:97215.閱讀下面程序,寫出輸出結(jié)果。#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;}上面程序的輸出結(jié)果為:5686.89.6.閱讀下面程序,寫出輸出結(jié)果。#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;}上面程序的輸出結(jié)果為:61822.閱讀下面程序,寫出輸出結(jié)果。#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;}上面程序的輸出結(jié)果為:001618.閱讀下面程序,寫出輸出結(jié)果。#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;}上面程序的輸出結(jié)果為:0121end.閱讀下面程序,寫出輸出結(jié)果。#iiiclude<iostreain>usingnamespacestd;classA(private:inta;public:A(){coutw”無參構(gòu)造函數(shù)”wendl:)A(mta){coutw”含參構(gòu)造函數(shù)a=M?a?endl;}A(constA©):a(copy.a){coutw”更制構(gòu)造函數(shù)“<vendl;}~A0{cout?"析構(gòu)函數(shù)"endl;}};mt(Aobjl,obj2(l),obj3(obj2);return0;上面程序的輸出結(jié)果為:無參構(gòu)造函數(shù)含參構(gòu)造函數(shù)a=l更制構(gòu)造函數(shù)析構(gòu)函數(shù)析構(gòu)函數(shù)析構(gòu)函數(shù)四、完成程序填題(本大題共4個小題,每小題3分,共12分)下面程序都留有空白,請將程序補充完整。.將如下程序補充完整。#include<iostreain>usingnamespacestd;classTest(private:intnum;public:Test(iiitnum=0){[1]this->num或Integer::num=num;}〃初始化數(shù)據(jù)成員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){}//初始化數(shù)據(jù)成員b的值為nvoidShow()const(A::Show();cout?b?endl;}};mtmam()(Bobj(8);obj.ShowQ;return0;}.下列程序的輸出結(jié)果為: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:});//靜態(tài)數(shù)據(jù)成員的初//靜態(tài)數(shù)據(jù)成員的初始化為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分).編寫一個函數(shù)模板,用于求參數(shù)的絕對值,并編寫測試程序進行測試。函數(shù)模板聲明如下: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;}.定義一個兔數(shù)類Complex,定義帶有2個參數(shù)(其中一個為缺省參數(shù))的構(gòu)造函數(shù),顯示及數(shù)值的函數(shù)ShowQ,重載運算符(用成員函數(shù)實現(xiàn)),并編寫測試程序進行測試。參考程序:#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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論