c++面向對象程序設計—考試題及習題講解()

上傳人:小*** 文檔編號:158274844 上傳時間:2022-10-03 格式:DOC 頁數(shù):7 大?。?9KB
收藏 版權申訴 舉報 下載
c++面向對象程序設計—考試題及習題講解()_第1頁
第1頁 / 共7頁
c++面向對象程序設計—考試題及習題講解()_第2頁
第2頁 / 共7頁
c++面向對象程序設計—考試題及習題講解()_第3頁
第3頁 / 共7頁

下載文檔到電腦,查找使用更方便

0 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《c++面向對象程序設計—考試題及習題講解()》由會員分享,可在線閱讀,更多相關《c++面向對象程序設計—考試題及習題講解()(7頁珍藏版)》請在裝配圖網上搜索。

1、第一部分選擇題(共20分)一、單項選擇題(本大題共10小題,每小題2分,共20分)1.在C+中,函數(shù)原型不能標識(D)A函數(shù)的返回類型B函數(shù)參數(shù)的個數(shù)C.函數(shù)參數(shù)類型D函數(shù)的功能p108有敘述2在C+程序中,對象之間的相互通信通過(B)?A繼承實現(xiàn)B調用成員函數(shù)實現(xiàn)C.封裝實現(xiàn)D.函數(shù)重載實現(xiàn)3. 對于任意一個類,析構函數(shù)的個數(shù)最多為(B)A.0B.1C.2D.3P288析構函數(shù)不接受參數(shù),也不返回數(shù)值。類只可能有一個析構函數(shù),不能進行析構函數(shù)的重載。4. 下面函數(shù)模板定義中不正確的是(A)A.templateQF(Qx)returnQ+x;C.templateTF(Tx)returnx*x;

2、5.友元關系不能(cA)?A繼承B是類與類的關系B.templateQF(Qx)returnx+x;D.templateTF(Tx)returnx1;C是一個類的成員函數(shù)與另一個類的關系p316D.提高程序的運行效率6. 語句ofstreamf(SALARY.DAT,ios:appIios:binary);的功能是建立流對象f,試圖打開文件SALARY.DAT并與之連接,并且(A)A若文件存在,將文件寫指針定位于文件尾;若文件不存在,建立一個新文件B若文件存在,將其置為空文件;若文件不存在,打開失敗C.若文件存在,將文件寫指針定位于文件首;若文件不存在,建立一個新文件D若文件存在,打開失??;若

3、文件不存在,建立一個新文件7. 下面說法正確的是(B)A. 內聯(lián)函數(shù)在運行時是將該函數(shù)的目標代碼插入每個調用該函數(shù)的地方B. 內聯(lián)函數(shù)在編譯時是將該函數(shù)的目標代碼插入每個調用該函數(shù)的地方C. 類的內聯(lián)函數(shù)必須在類體內定義D. 類的內聯(lián)函數(shù)必須在類體外通過加關鍵字inline定義8可以用p.a的形式訪問派生類對象p的基類成員a,其中a是(D)A.私有繼承的公有成員B.公有繼承的私有成員C.公有繼承的保護成員D.公有繼承的公有成員9.在公有派生情況下,有關派生類對象和基類對象的關系,不正確的敘述是A.派生類的對象可以賦給基類的對象B派生類的對象可以初始化基類的引用C.派生類的對象可以直接訪問基類中

4、的成員D派生類的對象的地址可以賦給指向基類的指針10.對于類定義classApublic:virtualvoidfunc1()voidfunc2();classB:publicApublic:voidfunc1()coutclassBfunc1end1;virtualvoidfunc2()coutclassBfunc2end1;下面正確的敘述是(C)A. A:func2()和B:func1()都是虛函數(shù)B. A:func2()和B:func1()都不是虛函數(shù)C. B:func1()是虛函數(shù),而A:func2()不是虛函數(shù)D. B:func1()不是虛函數(shù),而A:func2()是虛函數(shù)第二部分非

5、選擇題(共80分)二、填空題(本大題共10小題,每小題2分,共20分)11.定義類的動態(tài)對象數(shù)組時,系統(tǒng)只能夠自動調用該類的拷貝構造函數(shù)對其進行初始化。12無論是什么繼承方式,派生類的成員不能訪問基類private屬性的成員。13. 表達式coutvvend1還可表示為_cout”/n”;_。14. 基類的公有成員在派生類中的訪問權限由繼承方式決定。15. C+支持的兩種多態(tài)性分別是靜態(tài)多態(tài)性和動態(tài)多態(tài)性。16. C+中語句constchar*constp=hello;所定義的指針p和它所指的內容都不能被修改。17假定AB為一個類,則語句AB(AB&x);為該類_構造?函數(shù)的原型說明。18.

6、說明常成員函數(shù)時,字const寫在成員函數(shù)的函數(shù)的參數(shù)表和函數(shù)體之間19. 在C+中,訪問一個對象的成員所用的運算符是指針,訪問一個指針所指向的對象的成員所用的運算符是this指針。20. 派生類從一個或多個以前定義的該類的基類繼承數(shù)據(jù)和函數(shù)。三、改錯題(本大題共5小題,每小題2分,共10分)21. 指出下面程序段中的錯誤,并說明出錯原因。classAinta,b;public:A(intaa,intbb)a=aa;b=bb;y(4,0)Ax(2,3),y(4);22. 指出并改正下面利用類模板的對象定義中的錯誤templateclassTanyTx,y;public:Tany(Ta,Tb)x

7、=a,y=b;Tsum()returnx+y;Tany(int)obj(10,100);改為Tany23. 指出下面程序段中的錯誤,并說明出錯原因。classoneprivate:inta;public:voidfunc(two&);voidfunc(two&)錯誤,不能前向申明;classtwoprivate:intb;friendvoidone:func(two&);voidone:func(two&r)a=r.b;24. 指出下面程序段中的錯誤,并說明出錯原因。includeclassApublic:voidfun()couta.funendl;classBpublic:voidfun(

8、)coutb.funendl;voidgun()coutb.gunendl;classC:publicA,publicBprivate:intb;public:voidgun()coutc.gunendl;voidhun()fun();改為voidhun()A:fun();或B:fun();25. 指出下面程序段中的錯誤,并說明出錯原因。classLocationintX,Y=20;Y=20出錯,類定義中不能顯式地將類的數(shù)據(jù)成員初始化protected:intzeroX,zeroY;intSetZero(intZeroX,intZeroY);private:intlength,height;p

9、ublic:floatradius;voidinit(intinitX,intinitY);intGetX();intGetY();四、完成程序題(本大題共5小題,共20分)根據(jù)題目要求,完成程序填空。26. 在下面橫線處填上適當字句,完成類中成員函數(shù)的定義。classAint*a;public:A(intaa=0)a=_newint(aa)_;用aa初始化a所指向的動態(tài)對象A()_deletea_;釋放動態(tài)存儲空間;27. 下面是一個函數(shù)模板,用于計算兩個向量的和。在下面橫線處填上適當字句完成函數(shù)模板定義。includetemplateT*f(T*a,T*b,intn)T*c=_newTn_

10、;for(inti=0;in;i+)ci=_ai+bi_;returnc;voidmain()inta5=1,2,3,4,5,b5=10,20,30,40,*p;p=f(a,b,5);for(inti=0;i5;i+)coutpiendl;28. 下面是一個用戶口令檢查程序,在橫線處填上適當語句完成程序功能。includeinclude_char*PASS=”wolleh”;_定義由PASS指針所指向的口令wolleh。voidmain()charuser10;用于存放輸入的口令coutpleaseinputyourpassword:user;_輸入口令if(strcmp(user,PASS)

11、=0)coutyourpasswordiscorrectendl;elsecoutyourpasswordiserrorendl;29下面是類fraction(分數(shù))的定義,其中重載的運算符vv以分數(shù)形式輸出結果,例如將三分之二輸出為2/3。在橫線處填上適當字句。classfractionintden;/分子intnum;/分母friendostream&operatorvv(ostream&,fraction);ostream&operatorvv(ostream&os,fractionfr)_coutden”/”numclassbasepublic:int_func()return0;cl

12、assderived:publicbasepublic:inta,b,c;voidsetValue(intx,inty,intz)a=x;b=y;c=z;intfunc()return(a+b)*c;voidmain()baseb;derivedd;coutb.func()T;d.setValue(3,5,7);coutd.func()T;base&pb=d;coutpb.func()end1;五、程序分析題(,每小題5分,共30分)給出下面各程序的輸出結果。31. includevoidmain()int*a;int*&p=a;intb=10;p=&b;cout*a;輸出為:32. incl

13、udetemplateTf(T*a,T*b,intn)Ts=(T)0;for(inti=0;in;i+)s+=ai*bi;returns;voidmain()doublec5=1.1,2.2,3.3,4.4,5.5,d5=10.0,100.0,1000.0;coutf(c,d,5)endl;輸出為:253133. includevoidmain()for(inti=0;i4;i+)coutendlvsetfill()vsetw(4-i)Ovvsetfill(w)v0?O:);輸出為:34.運行下面的程序,寫出當輸入25,60時的輸出結果。includeclassgoodsprivate:sta

14、ticinttotalWeight;intweight;public:goods(intw)weigh=w;totalWeight+=w;goods(goods&gd)weight=gd.weight;totalWeight+=weight;goods()totalWeight-=weight;intgetwg()returnweight;staticintgetTotal()returntotalWeight;intgoods:totalWeight=0;voidmain()intw;coutTheinitialweightofgoods:goods:getTotal()w;/輸入25goo

15、dsg1(w);cinw;/輸入60goodsg2(w);coutThetotalweightofgoods:goods:getTotal()endl;輸出為:35.includeclassApublic:A()virtualvoidfunc()coutDestructorAendl;A()func();classB:publicApublic:B()voidfunc()coutDestructorBendl;B()func();voidmain()Bb;A&a=b;輸出為:36.includeclassMyClasspublic:intnumber;voidset(inti);intnumber=3;voidMyClass:set(inti)number=i;voidmain()MyClassmy1;intnumber=10;my1.set(5);coutmy1.numberend1;my1.set(number);coutmy1.numberendl;my1.set(:number);coutmy1.number;輸出為:

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

相關資源

更多
正為您匹配相似的精品文檔
關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!