版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2部分補(bǔ)充習(xí)題第1章面向?qū)ο蟪绦蛟O(shè)計(jì)概述一、選擇題1、C++是(C)。A面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言B結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言C既是面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言又是結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言D非結(jié)構(gòu)化的程序設(shè)計(jì)語(yǔ)言2、C++語(yǔ)言屬于(D)。A機(jī)器語(yǔ)言B低級(jí)語(yǔ)言C中級(jí)語(yǔ)言D高級(jí)語(yǔ)言3、下面關(guān)于對(duì)象概念的描述中,錯(cuò)誤的是(A)。A對(duì)象就是C語(yǔ)言中的結(jié)構(gòu)變量B對(duì)象代表著正在創(chuàng)建的系統(tǒng)中的一個(gè)實(shí)體C對(duì)象是一個(gè)屬性和操作(或方法)的封裝體D對(duì)象之間的信息傳遞是通過(guò)消息進(jìn)行的4、下面關(guān)于類概念的描述中,錯(cuò)誤的是(D)。A類是抽象數(shù)據(jù)類型的實(shí)現(xiàn)B類是具有共同行為的若干對(duì)象的統(tǒng)一描述體C類是創(chuàng)建對(duì)象的樣板D類就是C語(yǔ)言中的結(jié)構(gòu)體類型5、下列關(guān)于C++類的描述中錯(cuò)誤的是(C)。A類與類之間可以通過(guò)一些手段進(jìn)行通信和聯(lián)絡(luò)B類用于描述事物的屬性和對(duì)事物的操作C類與類之間必須是平等的關(guān)系,而不能組成層次關(guān)系D類與類之間可以通過(guò)封裝而具有明確的獨(dú)立性6、面向?qū)ο蟪绦蛟O(shè)計(jì)思想的主要特征中不包括(D)。A封裝性B多態(tài)性C繼承性D功能分解,逐步求精二、填空題1、構(gòu)成對(duì)象的兩個(gè)主要因素是屬性和行為,其中屬性用于描述對(duì)象的靜態(tài)特征,行為用于描述對(duì)象的動(dòng)態(tài)特征。2、類和對(duì)象的關(guān)系可表述為:類是對(duì)象的抽象,而對(duì)象則是類的實(shí)例。3、封裝包含兩方面含義,一是用對(duì)象把屬性和操作這些屬性的操作包裝起來(lái),二將對(duì)象中某些部分對(duì)外隱藏。4、繼承是指特殊類自動(dòng)地?fù)碛谢螂[含地復(fù)制其一般類的全部屬性與操作。5、面向?qū)ο蟮能浖こ贪ǖ奈鍌€(gè)階段為:面向?qū)ο蠓治?,面向?qū)ο笤O(shè)計(jì),面向?qū)ο缶幊?,面向?qū)ο鬁y(cè)試,面向?qū)ο缶S護(hù)。第2章C++基礎(chǔ)知識(shí)一、選擇題1、下列關(guān)于C++語(yǔ)言的發(fā)展說(shuō)法錯(cuò)誤的是(C)。AC++語(yǔ)言起源于C語(yǔ)言BC++語(yǔ)言最初被稱為“帶類的C”C在1980年C++被命名D在1983年C++被命名2、C++語(yǔ)言是以語(yǔ)言為基礎(chǔ)逐漸發(fā)展而演變而成的一種程序設(shè)計(jì)語(yǔ)言。(B)APascalBCCBasicDSimula673、下列關(guān)于C++與C語(yǔ)言關(guān)系的描述中錯(cuò)誤的是(C)。AC++是C語(yǔ)言的超集BC++是C語(yǔ)言進(jìn)行了擴(kuò)充CC++和C語(yǔ)言都是面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言DC++包含C語(yǔ)言的全部語(yǔ)法特征4、下列C++標(biāo)點(diǎn)符號(hào)中表示行注釋開(kāi)始的是(C)。A#B;C//D}5、每個(gè)C++程序都必須有且僅有一個(gè)(B)。A預(yù)處理命令B主函數(shù)C函數(shù)D語(yǔ)句6、C++對(duì)C語(yǔ)言做了很多改進(jìn),下列描述中哪一項(xiàng)使得C語(yǔ)言發(fā)生了質(zhì)變,即從面向過(guò)程變成面向?qū)ο螅―)。A增加了一些新的運(yùn)算符B允許函數(shù)重載,并允許設(shè)置默認(rèn)參數(shù)C規(guī)定函數(shù)說(shuō)明必須用原型D引進(jìn)類和對(duì)象的概念7、對(duì)定義重載函數(shù)的下列要求中,錯(cuò)誤的是(D)。A要求參數(shù)的個(gè)數(shù)不同B要求參數(shù)中至少有一個(gè)類型不同C要求參數(shù)個(gè)數(shù)相同時(shí),參數(shù)類型不同D要求函數(shù)的返回值不同8、在函數(shù)的返回值類型與返回值表達(dá)式的類型的描述中,錯(cuò)誤的是(B)。A函數(shù)返回值的類型是在定義函數(shù)時(shí)確定,在函數(shù)調(diào)用時(shí)是不能改變的B函數(shù)返回值的類型就是返回值表達(dá)式的類型C函數(shù)返回值表達(dá)式類型與返回值類型不同時(shí),函數(shù)表達(dá)式類型應(yīng)轉(zhuǎn)換成返回值類型D函數(shù)返回值類型確定了返回值表達(dá)式的類型9、下列不正確的選項(xiàng)是(D)。AC++語(yǔ)言是一種既支持面向過(guò)程程序設(shè)計(jì),又支持面向?qū)ο蟪绦蛟O(shè)計(jì)的混合型語(yǔ)言B關(guān)鍵字是在程序中起分割內(nèi)容和界定范圍作用的一類單詞Ciostream是一個(gè)標(biāo)準(zhǔn)的頭文件,定義了一些輸入輸出流對(duì)象D類與類之間不可以進(jìn)行通信和聯(lián)絡(luò)10、下列表示引用的方法中,正確的是(A)。已知:intk=1000;Aint&x=k;Bchar&y;Cint&z=1000;Dfloat&t=&k;二、填空題1、C++既可以用來(lái)進(jìn)行面向?qū)ο蟪绦蛟O(shè)計(jì),又可以進(jìn)行面向過(guò)程程序設(shè)計(jì)。2、常量分成兩種,一種是直接常量,另一種是符號(hào)常量。3、引用就是某一變量的別名,對(duì)其操作與對(duì)變量直接操作完全一樣。4、按函數(shù)在語(yǔ)句中的地位分類,可以有以下3種函數(shù)調(diào)用方式:函數(shù)語(yǔ)句,函數(shù)表達(dá)式,函數(shù)參數(shù)。5、函數(shù)與引用聯(lián)合使用主要有兩種方式:一是函數(shù)的參數(shù)是引用;二是函數(shù)的返回值是引用。6、頭文件由三部分內(nèi)容組成:頭文件開(kāi)頭處的文件頭注釋,預(yù)處理塊,函數(shù)和類結(jié)構(gòu)聲明。三、程序閱讀題1、分析下面的執(zhí)行結(jié)果#include<iostream>usingnamespacestd;intmain(){inta,b,sum;//定義a,b,sum三個(gè)整型變量a=43;//把整數(shù)常量賦給變量ab=37;sum=a+b;//a與b相加的和賦給變量sumcout<<"Thesumis"<<sum;cout<<endl;//endl是回車換行的作用return0;}2、分析以下程序的執(zhí)行結(jié)果#include<iostream>usingnamespacestd;intmain(){inta;int&b=a;//變量引用b=10;cout<<"a="<<a<<endl;return0;}3、下列程序的執(zhí)行結(jié)果為#include<iostream>usingnamespacestd;voidmian(){intn=10;int*pn=&n;int*&rn=pn;(*pn)++;cout<<"n="<<n<<endl;(*rn)++;cout<<”n=”<<n<<endl;}4、下面程序的運(yùn)行結(jié)果是#include<iostream>usingnamespacestd;voidfun(int&a,int&b){intp;p=a;a=b;b=p;}voidexchange(int&a,int&b,int&c){if(a<b)fun(a,b);if(a<c)fun(a,c);if(b<c)fun(b,c);}intmain(){inta,b,c;a=12;b=639;c=78;exchange(a,b,c);cout<<"a="<<a<<",b="<<b<<",c="<<c<<endl;return0;} 5、下面的程序輸出結(jié)果為#include<iostream>usingnamespacestd;intmain(){int*ir;inti;ir=&i;i=17;cout<<"inti="<<i<<endl;cout<<"intir="<<*ir<<endl;}6、下面程序的輸出結(jié)果為#include<iostream>usingnamespacestd;intfun(char*s);intmain(){cout<<fun("hello");return0;}intfun(char*s){char*t=s;while(*t!='\0')t++;return(t-s);}第3章類和對(duì)象一、選擇題1、有關(guān)類的說(shuō)法不正確的是(D)。A類是一種用戶自定義的數(shù)據(jù)類型.B只有類中的成員函數(shù)才能存取類中的私有成員.C在類中,如果不做特別說(shuō)明,所指的數(shù)據(jù)均為私有類型.D在類中,如果不做特別說(shuō)明,所指的成員函數(shù)均為公有類型。2、下面說(shuō)法正確的是(B)。A類定義只能說(shuō)明成員函數(shù)頭,不能定義函數(shù)體B類中的函數(shù)成員可以在類體中定義,也可以在類體之外定義C類的函數(shù)成員在類體之外定義時(shí)必須要與類聲明在同一文件中D在類體之外定義的函數(shù)成員不能操作該類的私有數(shù)據(jù)成員3、已知類X中的一個(gè)成員函數(shù)說(shuō)明如下:voidSet(x&a);其中,X&a的含義是(C)。A指向類X的指針為aB將a的地址賦給變量SetCa是類X的對(duì)象引用,用來(lái)做為Set()的形參D變量X是a按位相與作為函數(shù)Set()的參數(shù)4、有關(guān)類和對(duì)象的說(shuō)法不正確的是(B)。A對(duì)象是類的一個(gè)實(shí)例B一個(gè)類只能有一個(gè)對(duì)象C任何一個(gè)對(duì)象只能屬于一個(gè)具體的類D類與對(duì)象的關(guān)系和數(shù)據(jù)類型和變量的關(guān)系相似5、關(guān)于常數(shù)據(jù)成員的說(shuō)法不正確的是(D)。A常數(shù)據(jù)成員的定義形式與一般常量的定義形式相同,只不過(guò)常數(shù)據(jù)成員的定義必須出現(xiàn)在類體中.B常數(shù)據(jù)成員必須進(jìn)行初始化,并且不能被更新C常數(shù)據(jù)成員通過(guò)構(gòu)造函數(shù)的成員初始化列表進(jìn)行初始化D常數(shù)據(jù)成員可以在定義時(shí)直接初始化6、下列關(guān)于成員訪問(wèn)權(quán)限的描述中,不正確的是(B)。A公有數(shù)據(jù)成員和公有成員函數(shù)都可以被類對(duì)象直接處理B類的私有數(shù)據(jù)成員只能被公有成員函數(shù)以及該類的任何友元類或友元函數(shù)訪問(wèn)C保護(hù)成員在派生類中可以被訪問(wèn),而私有成員不可以D只有類或派生類的成員函數(shù)和友元類或友元函數(shù)可以訪問(wèn)保護(hù)成員7、類定義的內(nèi)容允許被其他對(duì)象無(wú)限制地存取是(C)。Aprivate部分Bprotected部分Cpublic部分D以上都不對(duì)8、下列不是構(gòu)造函數(shù)的特征的是(D)。A構(gòu)造函數(shù)的函數(shù)名與類名相同B構(gòu)造函數(shù)可以重載C構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù)D構(gòu)造函數(shù)必須指定類型說(shuō)明9、有關(guān)析構(gòu)函數(shù)的說(shuō)法不正確的是(B)。A析構(gòu)函數(shù)有且僅有一個(gè)B析構(gòu)函數(shù)和構(gòu)造函數(shù)一樣可以有形參C析構(gòu)函數(shù)的功能是在系統(tǒng)釋放對(duì)象之前作一些內(nèi)存清理工作D析構(gòu)函數(shù)無(wú)任何函數(shù)類型10、下列的各類函數(shù)中,不是類的成員函數(shù)的是(C)。A構(gòu)造函數(shù)B析構(gòu)函數(shù)C友元函數(shù)D拷貝構(gòu)造函數(shù)11、關(guān)于對(duì)象成員的構(gòu)造函數(shù)的調(diào)用順序,說(shuō)法正確的是(C)。A與它們?cè)诔蓡T初始化列表中給出的順序相同B與析構(gòu)函數(shù)的調(diào)用順序相同C與它們?cè)陬愔姓f(shuō)明順序相同D以上說(shuō)法都不對(duì)12、下面說(shuō)法中正確的是(B)A一個(gè)類只能定義一個(gè)構(gòu)造函數(shù),但可以定義多個(gè)析構(gòu)函數(shù)B一個(gè)類只能定義一個(gè)析構(gòu)函數(shù),但可以定義多個(gè)構(gòu)造函數(shù)C構(gòu)造函數(shù)與析構(gòu)函數(shù)同名,只要名字前加了一個(gè)求反符號(hào)(~)D構(gòu)造函數(shù)可以指定返回類型,而析構(gòu)函數(shù)不能指定任何返回類型,即使是void類型也不可以二、填空題1、類的私有成員只能被該類的成員函數(shù)或友元函數(shù)訪問(wèn)。2、類的數(shù)據(jù)成員不能在定義時(shí)初始化,而應(yīng)該通過(guò)類的構(gòu)造函數(shù)初始化。3、類的成員的可訪問(wèn)性可分為三類:public、private、protected。4、類成員默認(rèn)的訪問(wèn)方式是private。5、類的公用成員可以被類作用域內(nèi)的任何對(duì)象訪問(wèn)。6、聲明完類之后,就可以使用類來(lái)定義對(duì)象了,這個(gè)過(guò)程稱為實(shí)例化。7、類中有兩類成員,一類是數(shù)據(jù)成員,用來(lái)描述對(duì)象的靜態(tài)屬性;另一類則是成員函數(shù),用來(lái)描述對(duì)象的動(dòng)態(tài)行為。8、通過(guò)指針訪問(wèn)公有成員是使用“->”運(yùn)算符,通過(guò)對(duì)象訪問(wèn)公有成員是使用“.”運(yùn)算符。9、假定AB是一個(gè)類,則語(yǔ)句AB(constAB&)是該類拷貝構(gòu)造函數(shù)的原形說(shuō)明。10、析構(gòu)函數(shù)在對(duì)象的生命周期結(jié)束時(shí)被自動(dòng)調(diào)用,全局對(duì)象和靜態(tài)對(duì)象的析構(gòu)函數(shù)在main函數(shù)執(zhí)行完畢或調(diào)用exit函數(shù)結(jié)束時(shí)調(diào)用。三、程序分析題1、寫(xiě)出程序的運(yùn)行結(jié)果#include<iostream>usingnamespacestd;ClassMyClass{public:intnumber;voidset(inti);};intnumber=3;voidMyClass::set(inti){number=i;}voidmain(){MyClassmy1;intnumber=10;my1.set(5);cout<<my1.number<<endl;my1.set(number);cout<<my1.number<<endl;my1.set(::number);cout<<my1.number;}2、分析以下程序的執(zhí)行結(jié)果#include<iostream.h>classSample{intx;public:Sample(){};Sample(inta){x=a;}Sample(Sample&a){x=a.x+1;}voiddisp(){cout<<"x="<<x<<endl;}};voidmain(){Samples1(2),s2(s1);s2.disp();}3、分析以下程序的執(zhí)行結(jié)果#include<iostream.h>classSample{intx,y;public:Sample(){x=y=0;}Sample(inti,intj){x=i;y=j;}voidcopy(Sample&s);voidsetxy(inti,intj){x=i;y=j;}voidprint(){cout<<"x="<<x<<",y="<<y<<endl;}};voidSample::copy(Sample&s){x=s.x;y=s.y;}voidfunc(Samples1,Sample&s2){s1.setxy(10,20);s2.setxy(30,40);}voidmain(){Samplep(1,2),q;q.copy(p);func(p,q);p.print();q.print();}4、分析以下程序的執(zhí)行結(jié)果#include<iostream.h>classSample{public:intx;inty;voiddisp(){cout<<"x="<<x<<",y="<<y<<endl;}};voidmain(){intSample::*pc;Samples;pc=&Sample::x;s.*pc=10;pc=&Sample::y;s.*pc=20;s.disp();}5、寫(xiě)出下面程序的執(zhí)行結(jié)果#include<iostream.h>classSample{intA;staticintB;public:Sample(inta){A=a,B+=a;}staticvoidfunc(Samples);};voidSample::func(Samples){cout<<"A="<<s.A<<",B="<<B<<endl;}intSample::B=0;voidmain(){Samples1(2),s2(5);Sample::func(s1);Sample::func(s2);}第4章繼承與組合一、選擇題1、下面對(duì)派生類的描述中,錯(cuò)誤的是(D)。A一個(gè)派生類可以作為另一個(gè)派生類的基類B派生類至少有一個(gè)基類C派生類的成員除了它自己的成員外,還包含了它的基類的成員D派生類中繼承的基類成員的訪問(wèn)權(quán)限到派生類中保持不變2、在多繼承中,公用繼承和私有繼承對(duì)于基類成員在派生類中的可訪問(wèn)性與單繼承的規(guī)則是(A)。A完全相同B完全不同C部分相同,部分不同D以上都不對(duì)3、下面敘述不正確的是(D)。A派生類一般都是公用派生B對(duì)基類成員的訪問(wèn)必須是無(wú)二義性的C賦值兼容規(guī)則也適用于多重繼承的場(chǎng)合D基類的公用成員在派生類中仍然是公用的4、下面敘述不正確的是(A)。A基類的保護(hù)成員在派生類中仍然是保護(hù)的B基類的保護(hù)成員在公用派生類中仍然是保護(hù)的C基類的保護(hù)成員在私有派生類中仍然是私有的D對(duì)基類成員的訪問(wèn)必須是無(wú)二義性的5、當(dāng)保護(hù)繼承時(shí),基類的(B)在派生類中成為保護(hù)成員,不能通過(guò)派生類的對(duì)象來(lái)直接訪問(wèn)。A任何成員B公用成員和保護(hù)成員C公用成員和私有成員D私有成員6、若派生類的成員函數(shù)不能直接訪問(wèn)基類中繼承來(lái)的某個(gè)成員,則該成員一定是基類中的(D)。A任何成員B公用成員C保護(hù)成員D私有成員7、設(shè)置虛基類的目的是(B)。A簡(jiǎn)化程序B消除二義性C提高運(yùn)行效率D減少目標(biāo)代碼8、繼承具有(B),即當(dāng)基類本身也是某一個(gè)類的派生類時(shí),底層的派生類也會(huì)自動(dòng)繼承間接基類的成員。A規(guī)律性B傳遞性C重復(fù)性D多樣性9、在公用繼承情況下,有關(guān)派生類對(duì)象和基類對(duì)象的關(guān)系,不正確的敘述是(C)。A派生類的對(duì)象可以賦給基類的對(duì)象B派生類的對(duì)象可以初始化基類的引用C派生類的對(duì)象可以直接訪問(wèn)基類中的成員D派生類的對(duì)象的地址可以賦給指向基類的指針10、有如下類定義:classMyBASE{public:voidset(intn){k=n;}intget()const{returnk;}protected:intk;};classMyDERIVDE:protectedMyBASE{public:voidset(n){MyBASE::set(m);j=n;}intget()const{returnMyBASE::get()+j;}protected:intj;};則類MyDERIVDE中保護(hù)的數(shù)據(jù)成員和成員函數(shù)的個(gè)數(shù)是(C)。A4B3C2D111、有如下程序:#include<iostream>usingnamespacestd;classA{pubilc:A(){cout<<“A”;}};classB{public:B(){cout<<“B”;}};classC:publicA{public:C(){cout<<“C”;}private:Bb;};intmain(){Cobj;return0;}執(zhí)行后的輸出結(jié)果是(D)。ACBABBACCACBDABC12、有如下程序:#include<iostream>usingnamespacestd;classBASE{public:~BASE(){cout<<”BASE”;}};classDERIVED:publicBASE{public:~DERIVED(){cout<<”DERIVED”;}};intmain(){DERIVEDX;return0;}執(zhí)行后的輸出結(jié)果是(C)。ABASEBDERIVEDCBASEDERIVEDDDERIVEDBASE13、有如下程序:#includ<iostream>usingnamespacestd;classBase{public:voidfun(){cont<<”Base::fun”<<endl;}};classDerived:publicBase{public:voidfun(){cout<<”Derivde::fun”<<endl;}voidmain(){Deriverd;d.fun();}已知其執(zhí)行后的輸出結(jié)果為:Base::funDerived::fun則程序中下劃線處應(yīng)添入的語(yǔ)句是(B)。ABase.fun();BBase::fun();CBase->fun()Dfun();二、填空題1、在C++中,三種繼承方式的說(shuō)明符號(hào)為public、private、protected,如果不加說(shuō)明,則默認(rèn)的繼承方式為private。2、當(dāng)公用繼承時(shí),基類的公用成員成為派生類的公用成員;保護(hù)成員成為派生類的保護(hù)成員;私有成員成為派生類的不可訪問(wèn)成員。3、當(dāng)保護(hù)繼承時(shí),基類的公用成員成為派生類的保護(hù)成員;保護(hù)成員成為派生類的保護(hù)成員;私有成員成為派生類的不可訪問(wèn)成員。4、當(dāng)私有繼承時(shí),基類的公用成員成為派生類的私有成員;保護(hù)成員成為派生類的私有成員;私有成員成為派生類的不可訪問(wèn)成員。5、多繼承時(shí),多個(gè)基類中同名成員在派生類中由于標(biāo)識(shí)符不唯一而出現(xiàn)二義性。第5章多態(tài)性與虛函數(shù)一、選擇題1、向不同的對(duì)象發(fā)送統(tǒng)一消息可導(dǎo)致完全不同的行為的現(xiàn)象稱為(A)。A多態(tài)性B抽象C繼承D封裝2、多態(tài)調(diào)用是指(C)。A以任何方式調(diào)用一個(gè)虛函數(shù)B以任何方式調(diào)用一個(gè)純虛函數(shù)C借助于指向?qū)ο蟮幕愔羔樆蛞谜{(diào)用一個(gè)虛函數(shù)D借助于指向?qū)ο蟮幕愔羔樆蛞谜{(diào)用一個(gè)純虛函數(shù)3、下面關(guān)于抽象類說(shuō)法不正確的是(C)。A抽象類是指具有純虛函數(shù)的類B一個(gè)聲明有純虛函數(shù)的基類一定是抽象類C可以用抽象類定義對(duì)象D抽象類中可以進(jìn)行構(gòu)造函數(shù)的重載4、在C++中,用于實(shí)現(xiàn)運(yùn)行時(shí)多態(tài)性的是(D)。A內(nèi)聯(lián)函數(shù)B重載函數(shù)C模板函數(shù)D虛函數(shù)5、關(guān)于純虛函數(shù),下列表述正確的是(B)。A純虛函數(shù)是未給出實(shí)現(xiàn)版本(即無(wú)函數(shù)體定義)的虛函數(shù)B純虛函數(shù)的聲明總是以“=0”C派生類必須實(shí)現(xiàn)基類的純虛函數(shù)D含有純虛函數(shù)的類一定是派生類6、關(guān)于虛函數(shù),下列表述正確的是(B)。A如果在重定義虛函數(shù)時(shí)使用virtual,則該重定義函數(shù)仍然是虛函數(shù)B虛函數(shù)不得聲明為靜態(tài)函數(shù)C虛函數(shù)不得聲明為另一個(gè)類的友元函數(shù)D派生類必須重新定義基類的虛函數(shù)7、關(guān)于純虛函數(shù)和抽象類的描述中,錯(cuò)誤的是(A)。A純虛函數(shù)是一種特殊的虛函數(shù),它沒(méi)有具體的定義B抽象類是指具有純虛函數(shù)的類C抽象類只能作為基類來(lái)使用,其純虛函數(shù)的定義由派生類給出D一個(gè)基類中說(shuō)明有純虛函數(shù),該基類的派生類只有實(shí)現(xiàn)了基類的所有純虛函數(shù),才可以用派生類來(lái)定義對(duì)象。8、下列描述中,是抽象類的特征的是(D)。A可以說(shuō)明虛函數(shù)B可以進(jìn)行構(gòu)造函數(shù)的重載C可以定義友元函數(shù)D不能定義其對(duì)象9、抽象類應(yīng)該有(D)。A至少一個(gè)虛函數(shù)B至多一個(gè)虛函數(shù)C至多一個(gè)純虛函數(shù)D至少一個(gè)純虛函數(shù)10、關(guān)于虛函數(shù)的說(shuō)法正確的是(C)。A基類的虛函數(shù)可為派生類繼承,繼承下來(lái)仍為虛函數(shù)B虛函數(shù)重定義時(shí)必須保證其返回值和參數(shù)個(gè)數(shù)及類型與基類中的一致C虛函數(shù)必須是一個(gè)類的成員函數(shù),不能是友元,也不能是靜態(tài)函數(shù),但可以作為其他類的友元D析構(gòu)函數(shù)和構(gòu)造函數(shù)都可是虛函數(shù),都可被繼承二、填空題1、C++中的多態(tài)性可以分為4類:參數(shù)多態(tài)、包含多態(tài)、重載多態(tài)和強(qiáng)制多態(tài)。前面兩種統(tǒng)稱為通用多態(tài),而后面兩種統(tǒng)稱為專用多態(tài)。2、向上類型轉(zhuǎn)換是指把一個(gè)派生類的對(duì)象作為一個(gè)基類的對(duì)象來(lái)使用。3、多態(tài)性從實(shí)現(xiàn)的角度來(lái)講可以劃分為兩類:靜態(tài)多態(tài)行和動(dòng)態(tài)多態(tài)行。4、虛函數(shù)的聲明方法是在函數(shù)原型前加上關(guān)鍵字virtual。5、如果一個(gè)類包含一個(gè)或多個(gè)純虛函數(shù),則該類為抽象類。第6章面向?qū)ο蟮耐讌f(xié)一、選擇題1、下面關(guān)于友元的描述中,錯(cuò)誤的是(D)。A友元函數(shù)可以訪問(wèn)該類的私有數(shù)據(jù)成員。B一個(gè)類的友元類中的成員函數(shù)都是這個(gè)類的友元函數(shù)。C友元可以提高程序的運(yùn)行效率。D類與類之間的友元關(guān)系可以繼承。2、友元訪問(wèn)類的對(duì)象的成員時(shí)使用(D)A類的成員名Bthis指針指向成員名C“類名::成員名”的形式D“對(duì)象名.成員名”的形式3、已知類A是類B的友元,類B是類C的友元,則(D)。A類A一定是類C的友元B類C一定是類A的友元C類C的成員函數(shù)可以訪問(wèn)類B的對(duì)象的任何成員D類A的成員函數(shù)可以訪問(wèn)類B的對(duì)象的任何成員4、下面對(duì)靜態(tài)數(shù)據(jù)成員的描述中,正確的是(A)。A靜態(tài)數(shù)據(jù)成員是類的所有對(duì)象共享的數(shù)據(jù)B類的每個(gè)對(duì)象都有自己的靜態(tài)數(shù)據(jù)成員C類的不同對(duì)象有不同的靜態(tài)數(shù)據(jù)成員值D靜態(tài)數(shù)據(jù)成員不能通過(guò)類的對(duì)象調(diào)用二、填空題1、友元可以訪問(wèn)與其有好友關(guān)系的類中的任何成員。友元包括友元函數(shù)和友元類。2、聲明友元的關(guān)鍵字是friend。3、類的靜態(tài)成員包括靜態(tài)數(shù)據(jù)成員和靜態(tài)成員函數(shù)。4、靜態(tài)數(shù)據(jù)成員是在程序編譯時(shí)被分配空間的,到程序結(jié)束時(shí)才釋放空間。第7章運(yùn)算符重載選擇題1、下列運(yùn)算符中,下列哪個(gè)運(yùn)算符在C++中不能重載(C)。A&&B[]C::Dnew2、下列關(guān)于運(yùn)算符重載的描述中,正確的是(D)。A運(yùn)算符重載可以改變操作數(shù)的個(gè)數(shù)B運(yùn)算符重載可以改變優(yōu)先級(jí)C運(yùn)算符重載可以改變結(jié)合性D運(yùn)算符重載不可以改變語(yǔ)法結(jié)構(gòu)3、在表達(dá)式x+y*z中,+是作為成員函數(shù)重載的運(yùn)算符,*是作為非成員函數(shù)重載的運(yùn)算符。下列敘述中正確的是(C)。Aoperator+有兩個(gè)參數(shù),operator*有兩個(gè)參數(shù)Boperator+有兩個(gè)參數(shù),operator*有一個(gè)參數(shù)Coperator+有一個(gè)參數(shù),operator*有兩個(gè)參數(shù)Doperator+有一個(gè)參數(shù),operator*有一個(gè)參數(shù)4、在下列成對(duì)的表達(dá)式中,運(yùn)算符“+”的意義不相同的一對(duì)是(C)。A5.0+2.0和5.0+2B5.0+2.0和5+2.0C5.0+2.0和5+2D5+2.0和5.0+25、下列關(guān)于運(yùn)算符的重載敘述正確的是(C)。A通過(guò)運(yùn)算符重載,可以定義新的運(yùn)算符B有的運(yùn)算符只能作為成員函數(shù)重載C若重載運(yùn)算符+,則相應(yīng)的運(yùn)算符函數(shù)名是+D重載一個(gè)二元運(yùn)算符時(shí),必須聲明兩個(gè)形參6、如果表達(dá)式++i*k中的“++”和“*”都是重載的友元運(yùn)算符,若采用運(yùn)算符函數(shù)調(diào)用格式,則表達(dá)式還可以表示為(B)。Aoperator*(i.operator++(),k)Boperator*(operator++(i),k)Ci.operator++().operator*(k)Dk.operator*(operator++(i))7、已知在一個(gè)類體中包含如下函數(shù)原型:VOLUMEoperator-(VOLUME)const;下面關(guān)于這個(gè)函數(shù)敘述錯(cuò)誤的是(B)。A這是運(yùn)算符-的重載運(yùn)算符函數(shù)B這個(gè)函數(shù)所重載的運(yùn)算符是一個(gè)一元運(yùn)算符C這是一個(gè)成員函數(shù)D這個(gè)函數(shù)不改變類的任何數(shù)據(jù)成員的值8、下列關(guān)于運(yùn)算符的重載說(shuō)法不正確的是(D)。A它可以是成員函數(shù)B它可以是友元函數(shù)C它既不是成員函數(shù)也不是友元函數(shù)D它只能是成員函數(shù)填空題1、運(yùn)算符的重載是對(duì)c++已用的的運(yùn)算符賦予多重含義,導(dǎo)致不同行為,定義重載運(yùn)算符函數(shù)的關(guān)鍵字是operator。2、要在類的對(duì)象上使用運(yùn)算符,除了運(yùn)算符=和&外,都須被重載。3、C++中不能被重載的運(yùn)算符有.、.*、::、?:、sizeof。4、重載不改變運(yùn)算符的操作數(shù)的個(gè)數(shù)、結(jié)合性、優(yōu)先級(jí)。5、對(duì)雙目運(yùn)算符,被重載為成員函數(shù)時(shí),有1參數(shù),被重載為友元函數(shù)時(shí),有2參數(shù)。第8章模板一、選擇題1、關(guān)于模板函數(shù)與函數(shù)模板的說(shuō)法正確的是(C)。A其實(shí)質(zhì)是一樣的,只是說(shuō)法不同B兩者的形參類型是一樣的C模板函數(shù)是模板的實(shí)例化D函數(shù)模板是模板函數(shù)的實(shí)例化2、模板的使用實(shí)際上是將類模板實(shí)例化成一個(gè)(C)。A函數(shù)B對(duì)象C類D抽象類3、類模板的模板參數(shù)(D)。A只可作為數(shù)據(jù)成員的類型B只可作為成員函數(shù)的返回類型C只可作為成員函數(shù)的參數(shù)類型D以上三者均可4、模板的參數(shù)(A)。A可以有多個(gè)B不能是基本數(shù)據(jù)類型C可以是0個(gè)D參數(shù)不能給初值5、template<classT,intsize=5>classapple{…};定義模板類apple的成員函數(shù)的正確格式為(C)。ATapple<t,size>::Push(Tobject)BTapple::Push(Tobject)Ctemplate<classT,intsize=5>Tapple<T,size>::Push(Tobject)Dtemplate<classT,intsize=5>Tapple::Push(Tobject)6、下列說(shuō)法正確的是(D)。A函數(shù)模板的友元函數(shù)必須是模板B模板函數(shù)可以被同名的另一個(gè)模板函數(shù)重載C形式參數(shù)的名字只能在模板函數(shù)的形式參數(shù)表中出現(xiàn)一次D關(guān)鍵字class定義函數(shù)模板類型參數(shù),實(shí)際上表示任何用戶自定義類型二、填空題1、函數(shù)模板使設(shè)計(jì)與具體數(shù)據(jù)類型無(wú)關(guān)的通用算法的良好機(jī)制,它可以用一種抽象數(shù)據(jù)類型設(shè)計(jì)通用算法。2、通過(guò)關(guān)鍵字template可以聲明模板,通過(guò)關(guān)鍵字class或typename指定函數(shù)模板的類型參數(shù),有幾個(gè)類型參數(shù)就有幾個(gè)關(guān)鍵字,它實(shí)際表示任何標(biāo)準(zhǔn)數(shù)據(jù)類型或用戶自定義數(shù)據(jù)類型。3、模板形參表表示將被替換的模板參數(shù),模板參數(shù)之間用逗號(hào)分隔,它有待于實(shí)例化。4、將函數(shù)模板中的參數(shù)實(shí)例化后,函數(shù)模板變成模板函數(shù)。5、對(duì)函數(shù)模板的實(shí)例化可以有兩種顯示方式:顯示方式、隱式方式,其中的隱式方式是編譯程序根據(jù)實(shí)參的類型自動(dòng)實(shí)例化模板。6、模板定義的形式參數(shù)可用來(lái)指定傳遞給函數(shù)的參數(shù)類型、函數(shù)返回類型、聲明函數(shù)中的變量。第9章輸入/輸出流一、選擇題1、在程序中要進(jìn)行文件的輸出,除了包含iostream頭文件外,還要包含頭文件(B)。AifsteamBfstreamCostreamDcstdio2、執(zhí)行下列語(yǔ)句:char*str;cin>>str;cout<<str;若輸入abcd1234↙則輸出(A)。AabcdBabcd1234C1234D輸出亂碼或出錯(cuò)3、執(zhí)行下列語(yǔ)句:chara[200];cin.getline(a,200,'');cout<<a;若輸入abcd1234↙則輸出(A)。AabcdBabcd1234C1234D輸出亂碼或出錯(cuò)4、定義char*p="abcd",能輸出p的值("abcd"的地址)的為(B)。Acout<<&p;Bcout<<p;Ccout(char*)p;Dcout<<const_cast<void*>(p)5、定義inta;int*pa=&a;下列輸出式中,結(jié)果不是pa的值(a的地址)的為(C)。Acout<<pa;Bcout<<(char*)pa;Ccout<<(void*)pa;Dcout<<(int*)pa;6、下列輸出字符方式錯(cuò)誤的是(A)。Acout<<put('A');Bcout<<'A';Ccout.put('A');DcharC='A';cout<<C;7、當(dāng)使用ofstream定義一個(gè)文件流對(duì)象,并將一個(gè)打開(kāi)文件的文件與之連接,文件默認(rèn)的打開(kāi)方式為(B)。Aios::inBios::outCios::in|ios::binaryD
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度高端建筑用無(wú)縫鋼管采購(gòu)協(xié)議2篇
- 2025版大型養(yǎng)殖場(chǎng)專用鴨苗采購(gòu)合同模板3篇
- 2025版智能交通信號(hào)系統(tǒng)建設(shè)與運(yùn)營(yíng)服務(wù)合同3篇
- 2025版情侶戀愛(ài)情感培養(yǎng)合同模板9篇
- 2025年度鋼管行業(yè)產(chǎn)業(yè)鏈整合與升級(jí)合同2篇
- 2025-2030全球防篡改技術(shù)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球全自動(dòng)電池包裝機(jī)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2024年全國(guó)現(xiàn)場(chǎng)流行病學(xué)調(diào)查職業(yè)技能競(jìng)賽考試題庫(kù)-上部分(600題)
- 2025-2030全球真空度測(cè)試儀行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2024年禁毒知識(shí)競(jìng)賽試題庫(kù)(多選題)
- 2024-2025學(xué)年高二上學(xué)期期末數(shù)學(xué)試卷(新題型:19題)(基礎(chǔ)篇)(含答案)
- 北師大版三年級(jí)數(shù)學(xué)(上冊(cè))看圖列式計(jì)算(完整版)
- 2023中考地理真題(含解析)
- 麻醉藥品、精神藥品月檢查記錄表
- 浙江省寧波市海曙區(qū)2022學(xué)年第一學(xué)期九年級(jí)期末測(cè)試科學(xué)試題卷(含答案和答題卡)
- 高考英語(yǔ)詞匯3500電子版
- 建院新聞社成立策劃書(shū)
- JJF 1101-2019環(huán)境試驗(yàn)設(shè)備溫度、濕度參數(shù)校準(zhǔn)規(guī)范
- GB/T 25000.51-2016系統(tǒng)與軟件工程系統(tǒng)與軟件質(zhì)量要求和評(píng)價(jià)(SQuaRE)第51部分:就緒可用軟件產(chǎn)品(RUSP)的質(zhì)量要求和測(cè)試細(xì)則
- 外科學(xué)試題庫(kù)及答案(共1000題)
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第十三章動(dòng)作技能的保持和遷移
評(píng)論
0/150
提交評(píng)論