面向?qū)ο蟪绦蛟O(shè)計與開發(fā)模擬試卷1_第1頁
面向?qū)ο蟪绦蛟O(shè)計與開發(fā)模擬試卷1_第2頁
面向?qū)ο蟪绦蛟O(shè)計與開發(fā)模擬試卷1_第3頁
面向?qū)ο蟪绦蛟O(shè)計與開發(fā)模擬試卷1_第4頁
面向?qū)ο蟪绦蛟O(shè)計與開發(fā)模擬試卷1_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

一、選擇題(每空1分,共20分)TOC\o"1-5"\h\z在C++中使用流進行輸入輸出,其中用于屏幕輸出的對象是( )。cerrB.cin C.coutD.cfile對使用關(guān)鍵字new所開辟的動態(tài)存儲空間,釋放時必須使用( )。freeB.createC.delete D.realse如沒有使用private關(guān)鍵字定義類的數(shù)據(jù)成員,則默認為( )。A.privateB.publicC.protectedD.friend下面概念中,不屬于面向?qū)ο蠓椒ǖ氖牵?)。A.對象B.繼承C.類 D.過程調(diào)用已知:intm=10;在下列定義引用的語句中,正確的是( )。A.int&x=mB.inty二C.int&zD.int&t二使用值傳遞方式將實參傳給形參,下列說法正確的是( )。A.形參是實參的備份 B.實參是形參的備份C.形參和實參是同一對象 D.形參和實參無聯(lián)系intFunc(int,int);不可與下列哪個函數(shù)構(gòu)成重載( )。A.intFunc(int,int,int); B.doubleFunc(int,int);C.doubleFunc(double,double); D.doubleFunc(int,double);類的私有成員可在何處訪問( )。A.通過子類的對象訪問B.本類及子類的成員函數(shù)中C.通過該類對象訪問 D.本類的成員函數(shù)中this指針存在的目的是( )。A.保證基類公有成員在子類中可以被訪問保證每個對象擁有自己的數(shù)據(jù)成員,但共享處理這些數(shù)據(jù)成員的代碼保證基類保護成員在子類中可以被訪問保證基類私有成員在子類中可以被訪問下列關(guān)于類的權(quán)限的描述錯誤的是( )。類本身的成員函數(shù)只能訪問自身的私有成員類的對象只能訪問該類的公有成員普通函數(shù)不能直接訪問類的公有成員,必須通過對象訪問一個類可以將另一個類的對象作為成員設(shè)類A將其它類對象作為成員,則建立A類對象時,下列描述正確的是()。A.A類構(gòu)造函數(shù)先執(zhí)行 B.成員構(gòu)造函數(shù)先執(zhí)行C.兩者并行執(zhí)行 D.不能確定下列描述錯誤的是( )。A.在創(chuàng)建對象前,靜態(tài)成員不存在B.靜態(tài)成員是類的成員C.靜態(tài)成員不能是虛函數(shù)D.靜態(tài)成員函數(shù)不能直接訪問非靜態(tài)成員

14.15.對于友元描述正確的是(A.友元是本類的成員函數(shù)B.友元不是本類的成員函數(shù)C.友元不是函數(shù)在哪種派生方式中,派生類可以訪問基類中的protected成員(A.public和private B.public14.15.對于友元描述正確的是(A.友元是本類的成員函數(shù)B.友元不是本類的成員函數(shù)C.友元不是函數(shù)在哪種派生方式中,派生類可以訪問基類中的protected成員(A.public和private B.public和protectedC.protected和private D.下列函數(shù)原型聲明中錯誤的是(A.B.C.D.D.友元不能訪問本類私有成員僅protected)。)。voidvoidvoidvoidFun(intFun(intFun(intFun(intx=0,inty二0)x,inty)x,inty二0)x=0,inty)已知函數(shù)f的原型是:voidf(int是:intvl;longv2,正確的調(diào)用語句是(A.f(vl,&v2)B.f(vl,v2)C.f(&vl,v2)17.有以下類定義classMyClass16.*a,long&b),變量vl、v2的定義)。D.f(&vl,&v2)public:MyClass(){cout<<l;}};TOC\o"1-5"\h\z則執(zhí)行語句MyClassa,b[2],*p[2];后,程序的輸出結(jié)果是( )。A.11 B.Ill C.1111 D.11111A.重載函數(shù)C.構(gòu)造函數(shù)19.A.重載函數(shù)C.構(gòu)造函數(shù)19.在一個類體的下列聲明中,A.virtualvoidvf()=0C.virtualintvf(int)析構(gòu)函數(shù)D.虛函數(shù)正確的純虛函數(shù)聲明是( )。B.voidvf(int)二0D.virtualvoidvf(int){}20.Volume為定義的類,以下運算符重載函數(shù)的原型中錯誤的是( )。Volumeoperator-(double,double)doubleVolume::operator-(double)VolumeVolume::operator-(Volume)Volumeoperator—(Volume,Volume)二、填空題(每空1分,共20分)從實現(xiàn)的角度劃分,C++所支持的兩種多態(tài)性分別是 時的多態(tài)性和運行時的多態(tài)性。將一個函數(shù)聲明為一個類的友元函數(shù)必須使用關(guān)鍵字 。在C++類中可以包含 、 和 三種具有不同訪問控制權(quán)的成員。定義在類內(nèi)部的函數(shù)默認狀態(tài)為 ,在類外部每次調(diào)用該函數(shù)時,定義的函數(shù)代碼會在調(diào)用函數(shù)位置展開。 是一種特殊的成員函數(shù),它主要用來為對象分配內(nèi)存空間,對類的數(shù)據(jù)成員進行初始化并執(zhí)行對象和其他內(nèi)部管理操作。C++中的類有兩種用法:一種是類的實例化,即生成類的對象,并參與系統(tǒng)的運行;另一種是通過 ,派生出新的類。假如一個類的名稱為MyClass,使用這個類的一個對象初始化該類的另一個對象時,可以調(diào)用 構(gòu)造函數(shù)來完成此功能。抽象類中至少要有一個 函數(shù)。靜態(tài)成員函數(shù)、友元函數(shù)、構(gòu)造函數(shù)和析構(gòu)函數(shù)中,不屬于成員函數(shù)的TOC\o"1-5"\h\z是 O基類的公有成員在派生類中的訪問權(quán)限由 決定。如果要把類B的成員函數(shù)voidftm()說明為類A的友元函數(shù),則應(yīng)在類A中加入語句 。單目運算符作為類成員函數(shù)重載時,形參個數(shù)為 個。C++將數(shù)據(jù)從一個對象流向另一個對象的流動抽象為“流”,從流中獲取數(shù)據(jù)的操作稱為 。若有函數(shù)定義為:intadd(intml=0,intm2二2,intm3=4){retuinml+m2+m3;}在主函數(shù)中有ints=add(1)+add(0,1)+add(0,1,2);則執(zhí)行此語句后s的值為 。若要保證一個公共的基類在派生類中只產(chǎn)生一個基類子對象,則必須都以 的方式直接繼承它。編譯時的多態(tài)性通過 函數(shù)實現(xiàn)。C++中用于動態(tài)創(chuàng)建對象,并返回該對象的指針的關(guān)鍵字是 。在函數(shù)體之前加 關(guān)鍵字可以防止函數(shù)改變數(shù)據(jù)成員的值。三、程序分析題(每空2分,共18分)1?請按下面注釋的提示,將類B的構(gòu)造函數(shù)定義補充完整。classA{inta;public:A(intaa=O){a=aa;}classB:publicA{intb:Ac;public://用aa初始化基類A,用aa+1初始化類對象成員cB(intaa): {b=aa+2:}};閱讀下列程序并寫出程序的輸出結(jié)果。#include<iostreani>usingnamespacestd;classbase{public:intn:base(intx){n=x;}virtualvoidset(intm){n=m;cout〈〈"base:"<<n<<endl:}};classderiveA:publicbase{public:deriveA(intx):base(x){}voidset(intm){n+=m;cout〈〈"deriveA:/z<<n<<endl:}};classderiveB:publicbase{public:deriveB(intx):base(x){}voidset(intm){n+=m;cout〈〈“derived:/z<<n<<endl:}};intmain(){baseb(2);deriveAdl(1): 程序的運行結(jié)果為:deriveBd2(3); base*phase: pbase=&b;pbase->set(4): pbase=&dl;pbase->set(l);phase二&d2:pbase->set(2)::return0:閱讀下列程序并寫出程序的輸出結(jié)果。#include<iostreani>usingnamespacestd;classTest{public:Test(){ent++;}~Test(){cnt—;}staticintCount(){returnent;}private:staticintent;};intTest::cnt二0;intmain()"〈〈Test::Count"〈〈Test::Count()<<endl;Test;Test;"〈〈Test::Count()<<endl;/z<<Test::Count()<<endl:Testtl,t2;Test*pT3=newTest*pT4=newcout〈〈〃2entisdeletepT4:deletepT3:cout〈〈〃3entis:return0:}程序的運行結(jié)果為:閱讀下列程序并寫出程序的輸出結(jié)果。#include<iostreani.h>classcomplex{intreal;intimag;public:complex(intr=0,inti二0):real(r),imag(i){}complexoperator++(){real++;:return*this;}voidshow(){cout〈〈"real:/z<<real<<endl<</zimag:〃〈〈imag<<endl:}};intmain(){ complexc(5,9);++c;c.show();:retuirn0;}程序的運行結(jié)果為: 四、程序改錯題(每題5分,共20分)(注:下面的類定義中有一處錯誤,請用下橫線標出錯誤所在行并給出錯誤原因及修改意見,只修改類定義,不修改主程序o)#include<iostreani.h>classTest{private: intx,y=20:public:Test(inti,intj){x=i,y=j;}intgetx(){retuinx:}intgety(){retuiny:}};intmain(){Testmt(10,20);cout〈〈nrt.getx()<<endl;cout〈〈nrt.gety()〈〈endl;:return0:}錯誤原因及修改意見: #include<iostreani.h>classTest{intx,y;public:voidfun(inti,intj){x=i:y=j:}voidshow(){cout〈〈〃x二〃《x;if(y)cout〈〈〃,y二〃《y〈〈endl;cout〈〈endl;}intmain(){Testa;a.fun(1);a.show();a.fun(2,4);a.show();:return0:}錯誤原因及修改意見: #include<iostreani.h>classpoint{private:floatx,y:public: voidfl(floata,floatb){x=a;y=b:}point(){x=0:y=0:}voidgetx(){cout〈〈x〈〈endl;}voidgety(){cout〈〈y〈〈endl;}voidprint(pointa):};voidprint(pointa){cout〈〈a.x〈〈endl;}intmain(){pointa;a.fl(3.0,5.0);print(a);:return0:}錯誤原因及修改意見: #include<iostreani.h>classAton{intX,Y;protected:intzx,zy;public:voidinit(inti,intj){zx二i;zy二j;}Aton(inti,intj,intm=0,intn二0){X二i,Y二j,zx=m,zy=n;}};intmain(){AtonA(25,20,3,5);A.init(5,9);cout<<A.X<<endl;:retuirn0:}錯誤原因及修改意見: 五、程序填空題(每空2分,共12分)在下面程序的畫線處填上適當?shù)恼Z句,使該程序執(zhí)行結(jié)果為40。#include<iostreani.h>classTest{publie: ;Test(inti二0){x二i+x;}intGetnum(){returnTest::x+7;}};intmain(){Testtest;cout〈〈test.Getnum()<<endl;:return0:}在下劃線處填上缺少的部分。#include<iostrea

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論