



版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
【章節(jié)】第1章C++基礎(chǔ)知識(shí)【知識(shí)點(diǎn)】1、C++程序的構(gòu)成與書寫形式;2、基本數(shù)據(jù)類型,常量、變量和表達(dá)式3、C++的標(biāo)準(zhǔn)輸入輸出【單選題】1、在C++中,源程序變?yōu)榭蓤?zhí)行程序的正確順序應(yīng)該是( )。A.編輯、鏈接、編譯、執(zhí)行B.編輯、編譯、鏈接、執(zhí)行C.編譯、編輯、鏈接、執(zhí)行D.編譯、鏈接、編輯、執(zhí)行答案:B2、要把高級(jí)語言編寫的源程序轉(zhuǎn)換為目標(biāo)程序,需要使用( )?A.編輯程序B.驅(qū)動(dòng)程序C.調(diào)試程序D.編譯程序答案:D3、下列關(guān)于C++與C語言的關(guān)系描述中,錯(cuò)誤的是( )。C語言是C++語言的ー個(gè)子集C++與C語言是兼容的C++對(duì)C語言進(jìn)行了一些改進(jìn)C++和C語言都是面向?qū)ο蟮拇鸢?D4、下面為使用面向?qū)ο笳Z言的正確理由是( )。A.面向?qū)ο蟪绦蛴扇N基本結(jié)構(gòu)組成,分別是順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)B.程序語句比面向過程語言簡單C.面向?qū)ο蟪绦蛟O(shè)計(jì)可以設(shè)計(jì)為自行修改錯(cuò)誤D.面向?qū)ο蟪绦蚝苋菀赘拍罨鸢福篋5、以下選項(xiàng)中,合法的用戶標(biāo)識(shí)符是( )。long_2Test3DmaxA.dat答案:B6、下列描述中正確的是( )〇A.不是每個(gè)C++程序都必須包含預(yù)處理命令#includeC++程序必須有return語句C++程序中的變量必須定義在主程序內(nèi)部C++程序中所使用的符號(hào)常量可以不進(jìn)行定義答案:A7、C++源程序文件的擴(kuò)展名為( )。. CPPTOC\o"1-5"\h\z. C. DLL.EXE答案:A8、cout是10流庫預(yù)定義的( )〇A.類對(duì)象C,包含文件D.常量答案:B9、C++對(duì)C語言作了很多改進(jìn),即從面向過程變成為面向?qū)ο蟮闹饕蚴牵?)。A.增加了一些新的運(yùn)算符B,允許函數(shù)重載,并允許設(shè)置缺省參數(shù)C.規(guī)定函數(shù)說明符必須用原型D,引進(jìn)了類和對(duì)象的概念答案:D10、下列選項(xiàng)中,( )是不合法的標(biāo)識(shí)符.Program0bj23doubIeB_C_D答案:C11、下列標(biāo)識(shí)符中,不合法的用戶標(biāo)識(shí)符為( )。a?!_inta_10PAd答案:A12、只能向終端輸出ー個(gè)字符的函數(shù)是( )。pringf函數(shù)putchar函數(shù)getchar函數(shù)scanf函數(shù)答案:B13、如果有整型量intx=5,執(zhí)行情況x+:1.9后x的值為( )。67C.結(jié)果不確定D,表達(dá)式非法答案:A14、已知a=5,b=3,表達(dá)式a+=a?=++b*3的值為( )。4080100120答案:D20、在C++語言中,自定義的標(biāo)識(shí)符( )。A.能使用關(guān)鍵字并且不區(qū)分大小寫B(tài).不能使用關(guān)鍵字并且不區(qū)分大小寫C.能使用關(guān)鍵字并且區(qū)分大小寫D.不能使用關(guān)鍵字并且區(qū)分大小寫答案:D32、C++語言程序的基本單位是( )。A.程序行B.語句C,函數(shù)D.字符答案:B38、下列符號(hào)屬于C++語言用戶標(biāo)識(shí)符的是()?D0ifvoidswitch答案:A39、任意一個(gè)類,析構(gòu)函數(shù)的個(gè)數(shù)最多是()?A,不限個(gè)數(shù)123答案:B【章節(jié)】第3章函數(shù)【知識(shí)點(diǎn)】1、C++函數(shù)的相關(guān)知識(shí)2、函數(shù)定義與函數(shù)的調(diào)用3、內(nèi)聯(lián)函數(shù)與函數(shù)重載【單選題】1、若有以下函數(shù)調(diào)用語句,在此函數(shù)調(diào)用語句中實(shí)參的個(gè)數(shù)是( )。fun(a+b,(y=10,y),fun(n,k,d));3456答案:A2、以下程序的運(yùn)行結(jié)果是( )。func(inta,intb){staticintm,i=2;i+=m+1;m=i+a+b;return(m);)intmain(){intk=4,m=1,p;p=func(k,m);cout?p?endI;p=func(k,m);cout?p?endI;]8,178,168,208,8答案:A.以下函數(shù)調(diào)用語句中,含有的實(shí)參個(gè)數(shù)是().func(red,rec2+1,(rec3,rec4));345D.有語法錯(cuò)誤[答案]A.分析如下程序:#incIude<iostream>intf(intb[],intn){inti,r=1;for(i=0;i<=n;i++)r=r*b[i];returnr;)voidmainO{intx,aロ={2,3,4,5,6,7,8,9};x=f(a,3);cout?x?endI;}上面程序的輸出結(jié)果是( )。72012024D.6答案:B5、下列函數(shù)參數(shù)默認(rèn)值定義錯(cuò)誤的是( )。Fun(intx,inty=0)Fun(intx=100)Fun(intx=0,inty)Fun(intx=f())(假定函數(shù)f()已經(jīng)定義)答案:C6、在函數(shù)定義前加上關(guān)鍵字“inline”表示該函數(shù)被定義為( )。A.重載函數(shù)B.內(nèi)聯(lián)函數(shù)C.成員函數(shù)D.普通函數(shù)答案:B7、ー個(gè)函數(shù)功能不太復(fù)雜,但要求被頻繁調(diào)用,選用( )。A.內(nèi)聯(lián)函數(shù)B.重載函數(shù)C,遞歸函數(shù)D.嵌套函數(shù)答案:A8、下面有關(guān)重載函數(shù)的說法中正確的是( )。A.重載函數(shù)必須具有不同的返回值類型B.重載函數(shù)形參個(gè)數(shù)必須不同C.重載函數(shù)必須有不同的形參列表D,重載函數(shù)名可以不同答案:C9、在C++語言中,對(duì)函數(shù)參數(shù)默認(rèn)值描述正確的是( )。A.函數(shù)參數(shù)的默認(rèn)值只能設(shè)定一個(gè)B.一個(gè)函數(shù)的參數(shù)若有多個(gè),則參數(shù)默認(rèn)值的設(shè)定可以不連續(xù)C,函數(shù)必須設(shè)定默認(rèn)值D.在設(shè)定參數(shù)的默認(rèn)值后,該參數(shù)后面定義的所有參數(shù)都必須設(shè)定默認(rèn)值答案:D10、考慮函數(shù)原型voidtest(inta,intb=7,charzゴ*'),下面的函數(shù)調(diào)用中,屬于不合法調(diào)用的是test(5);test(5,8);test(6,'#');test(0,〇,'*');答案:C11、以下對(duì)C++函數(shù)的有關(guān)描述中,正確的是( )?C調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳給形參,形參的值不能傳遞給實(shí)參C++函數(shù)既可以嵌套定義又可以遞歸調(diào)用C.函數(shù)必須有返回值,否則不能使用函數(shù)D.C++程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一源程序文件中答案:A12、在C++語言中函數(shù)返回值的類型是由( )決定的。A.調(diào)用該函數(shù)時(shí)系統(tǒng)臨時(shí)B.return語句中的表達(dá)式類型C.定義該函數(shù)時(shí)所指定的函數(shù)類型D.調(diào)用該函數(shù)時(shí)的主調(diào)函數(shù)類型答案:c13、以下程序的輸出結(jié)果是( )。intfunc(inta,intb){returna+b;}intmain(){intx=6,y=7,z=8,r;r=func(func(x,y),z-);cout?r?endI;]15202131答案:C14、以下程序的輸岀結(jié)果是( )〇voidfun(inta,c){a=456;b=567;c=678;}intmain(){intx=10,y=20,z=30;fun(x,y,z);coutくくzくく","くくyくく","くくxくくendl;1A.30,20,1010,20,30456,567,678678,567,456答案:A15、C++語言中,形參與實(shí)參之間的數(shù)據(jù)傳遞方式是(A.只能按值傳遞B,只能按地址傳遞C,既可以按值傳遞也可以按地址傳遞D,以上說法都不對(duì)答案:C16、分析以下程序:#incIude<iostream>voidfun(intnum){cout?num?endI;}voidfun(charch){cout?(ch+1)?endI;}intmainO(funCA*);return0;以上程序的輸出結(jié)果是(6566AB答案:B17>一個(gè)函數(shù)為voidf(intx,chary='a'),另一個(gè)函數(shù)為voidf(int)?則它們()〇A,不能在同一程序塊中定義B,可以在同一個(gè)程序塊中定義并可重載C.可以在同一個(gè)程序塊中定義,但不可以重載D.以上說法均不正確答案:A18、函數(shù)定義為Fun(int&i),變量定義n=100,則下面調(diào)用正確的是( )。Fun(20)Fun(20+n)Fun(n)Fun(&n)答案:C19、當(dāng)ー個(gè)函數(shù)無返回值時(shí),函數(shù)的類型應(yīng)為()〇A.任意voidintchar答案:B20、下列帶缺省值參數(shù)的函數(shù)說明中,正確的說明是(A.intFun(intx,inty=2,intz=3);B.intFun(intx=1,inty,intz=3);C.intFun(intx,inty=2,intz);D.intFun(intx=1,inty,intz=3);答案:A21、下列函數(shù)參數(shù)默認(rèn)值定義錯(cuò)誤的是( )。Fun(intx,inty=0)Fun(intx=100)Fun(intx=0,inty)Fun(intx=f())(假定函數(shù)f()已經(jīng)定義)答案:c22、在函數(shù)定義前加上關(guān)鍵字“inline”表示該函數(shù)被定義為( )。A.重載函數(shù)B.內(nèi)聯(lián)函數(shù)C.成員函數(shù)D.普通函數(shù)答案:B23、ー個(gè)函數(shù)功能不太復(fù)雜,但要求被頻繁調(diào)用,選用( )。A.內(nèi)聯(lián)函數(shù)B.重載函數(shù)C,遞歸函數(shù)D.嵌套函數(shù)答案:A24、下面有關(guān)重載函數(shù)的說法中正確的是( )。A.重載函數(shù)必須具有不同的返回值類型B.重載函數(shù)形參個(gè)數(shù)必須不同C.重載函數(shù)必須有不同的形參列表D.重載函數(shù)名可以不同答案:C25、在C++語言中,對(duì)函數(shù)參數(shù)默認(rèn)值描述正確的是( )。A.函數(shù)參數(shù)的默認(rèn)值只能設(shè)定一個(gè)B.ー個(gè)函數(shù)的參數(shù)若有多個(gè),則參數(shù)默認(rèn)值的設(shè)定可以不連續(xù)C.函數(shù)必須設(shè)定默認(rèn)值D.在設(shè)定參數(shù)的默認(rèn)值后,該參數(shù)后面定義的所有參數(shù)都必須設(shè)定默認(rèn)值答案:DTOC\o"1-5"\h\z26、考慮函數(shù)原型voidtest(inta,intb=7,charzゴ*'),下面的函數(shù)調(diào)用中,屬于不合法調(diào)用的是( )。test(5);test(5,8);test(6, ;test(0,0,, ;答案:C27、以下對(duì)C++函數(shù)的有關(guān)描述中,正確的是( )。C調(diào)用函數(shù)時(shí),只能把實(shí)參的值傳給形參,形參的值不能傳遞給實(shí)參B.C++函數(shù)既可以嵌套定義又可以遞歸調(diào)用C.函數(shù)必須有返回值,否則不能使用函數(shù)D.C++程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一源程序文件中答案:A28、在C++語言中函數(shù)返回值的類型是由( )決定的。A.調(diào)用該函數(shù)時(shí)系統(tǒng)臨時(shí)B.return語句中的表達(dá)式類型C,定義該函數(shù)時(shí)所指定的函數(shù)類型D.調(diào)用該函數(shù)時(shí)的主調(diào)函數(shù)類型答案:C29、以下程序的輸出結(jié)果是( )〇intfunc(inta,intb){returna+b;}intmain(){intx=6,y=7,z=8,r;r=func(func(x,y),z-):cout?r?endI;}A.15202131答案:C30、以下程序的輸出結(jié)果是( )。voidfun(inta,c){a=456;b=567;c=678;}intmain(){intx—10,y—20,z—30;fun(x,y,z);coutくくzくぐ’,"くくyくぐ’,”くくxくくendl;}30,20,1010,20,30456,567,678678,567,456答案:A【章節(jié)】第7章類與對(duì)象【知識(shí)點(diǎn)】1、面向?qū)ο蟪绦蛟O(shè)計(jì)的基本概念2、類定義、屬性與行為、訪問權(quán)限控制,對(duì)象的定義、使用3、構(gòu)造函數(shù)與析構(gòu)函數(shù)4、函數(shù)重載技術(shù)與運(yùn)算符重載技術(shù)5、友元【單選題】1、對(duì)于下面定義的類MyClass,在函數(shù)f()中將對(duì)象成員n的值修改為50的語句(劃線處)應(yīng)該是( )。cIassMyCIass(pubIic:MyCIass(intx)voidSetValue(intn1)(n=n1;)private:intn;);intf()MyClass*ptr=newMyClass(45):MyClass(50)SetValue(50)ptr->SetVaIue(50)ptr->n=50答案:C分值:2難度:1知識(shí)點(diǎn):評(píng)析:2、類MyClass的定義如下:cIassMyClasspubIic:MyClassO(vaIue=0;)setVariable(inti)(vaIue=i;)private:intvalue;};則以下各項(xiàng)對(duì)如下語句序列的描述中,正確的是( )。MyClass*p,my;p=&my;A,語句"p=&my;”是把對(duì)象my賦值給指針變量pB.語句"MyClass*p,my;"會(huì)調(diào)用兩次類MyClass的構(gòu)造函數(shù)C.對(duì)語句”*p.SetVariable(5)”的調(diào)用是正確的D.語句”p->SetVariable(5)n與語句nmy.SetVariable(5)n等價(jià)答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:3、下面類的定義,有( )錯(cuò)誤。cIassMyClass{inti=0;pubIic:voidMyClass();""MyClass(intValue);};1234答案:C分值:2難度:1知識(shí)點(diǎn):評(píng)析:4、定義析構(gòu)函數(shù)時(shí),應(yīng)該注意( )。A.其名與類名完全相同B.返回類型是void類型C.無形參,也不可重載D.函數(shù)體中必須有delete語句。答案:C分值:2難度:1知識(shí)點(diǎn):評(píng)析:5、構(gòu)造函數(shù)不具備的特征的是( )?A.構(gòu)造函數(shù)的函數(shù)名與類名相同B.構(gòu)造函數(shù)可以重載C.構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù)D.構(gòu)造函數(shù)必須指定返回類型答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:6、類的析構(gòu)函數(shù)是在( )被自動(dòng)調(diào)用的。A.類創(chuàng)建時(shí)B.創(chuàng)建對(duì)象時(shí)C,刪除對(duì)象時(shí)D.不自動(dòng)調(diào)用答案:C分值:2難度:1知識(shí)點(diǎn):評(píng)析:フ、對(duì)于任何ー個(gè)類,析構(gòu)函數(shù)最多有( )個(gè)。0124答案:B分值:2難度:2知識(shí)點(diǎn):評(píng)析:8、通常,拷貝構(gòu)造函數(shù)的參數(shù)是( )〇A.某個(gè)對(duì)象名B.某個(gè)對(duì)象的引用名C.某個(gè)對(duì)象的成員名D.某個(gè)對(duì)象的指針名答案:B分值:2難度:1知識(shí)點(diǎn):評(píng)析:9、面向?qū)ο蟪绦蛟O(shè)計(jì)中的數(shù)據(jù)隱藏指的是( )〇A.輸入數(shù)據(jù)必須輸入保密口令B.數(shù)據(jù)經(jīng)過加密處理C.對(duì)象內(nèi)部數(shù)據(jù)結(jié)構(gòu)上建有防火墻D.對(duì)象內(nèi)部數(shù)據(jù)結(jié)構(gòu)的不可訪問性答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:10、下列關(guān)于類的訪問權(quán)限的描述中,錯(cuò)誤的是(ン。A.說明為公有的成員可以被程序中的任何代碼訪問B.說明為私有的成員只能被類的成員和說明為友元類的成員函數(shù)訪問C.說明為保護(hù)的成員,除了能被本身的成員函數(shù)和說明為友元類的成員函數(shù)訪問外,該類的派生類的成員也可以訪問D.類的所有成員都可以被程序中的任何代碼訪問答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:11、ー個(gè)類的友元函數(shù)或友元類可以訪問該類的( )?A.私有成員B.保護(hù)成員C.公有成員D.所有成員答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:12、下列關(guān)于成員函數(shù)特征的描述中,錯(cuò)誤的是( )〇A.成員函數(shù)一定是內(nèi)聯(lián)函數(shù)B,成員函數(shù)可以重載C,成員函數(shù)可以設(shè)置參數(shù)的默認(rèn)值D,成員函數(shù)可以是靜態(tài)的答案:A分值:2難度:1知識(shí)點(diǎn):評(píng)析:13、下面對(duì)類中靜態(tài)數(shù)據(jù)成員的描述中,正確的是( )=A.靜態(tài)數(shù)據(jù)成員是類的所有對(duì)象共享的數(shù)據(jù)B.類的每個(gè)對(duì)象都有自己的靜態(tài)數(shù)據(jù)成員0.類的不同對(duì)象有不同的靜態(tài)數(shù)據(jù)成員D.靜態(tài)數(shù)據(jù)成員不能通過類的對(duì)象調(diào)用答案:A分值:2難度:1知識(shí)點(diǎn):評(píng)析:14、C++中對(duì)于類中定義的成員,其默認(rèn)的訪問權(quán)限為( )。publicprotectedprivatestatic答案:c分值:2難度:1知識(shí)點(diǎn):評(píng)析:15、類的析構(gòu)函數(shù)的作用是( )?A.作為類的一般成員函數(shù)B.類的初始化C.對(duì)象的初始化D.對(duì)象掃尾處理答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:16、若有一個(gè)MyClass類,則執(zhí)行語句"MyClass,a,b(2),*p;"后,自動(dòng)調(diào)用該類的構(gòu)造函數(shù)( )次。2345答案:A分值:2難度:1知識(shí)點(diǎn):評(píng)析:17、C++對(duì)C語言作了很多改進(jìn),即從面向過程變成為面向?qū)ο蟮闹饕倪M(jìn)是()A.增加了一些新的運(yùn)算符B.允許函數(shù)重載,并允許設(shè)置缺省參數(shù)C.規(guī)定函數(shù)說明符必須用原型D.引進(jìn)了類和對(duì)象的概念答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:18、類MyClass的定義如下:cIassMyClass(pubIic:MycIass(){}MyClass(inti){vaIue=newint(i);)int*value;};若要對(duì)value賦值,則下面語句正確的是( ).MyClass my; my.value=10;MyClass my; *my.value=10;MyClass my; my.*value=10;MyClass my(10);答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:19、下面是對(duì)類MyCIass的定義,對(duì)定義中語句描述正確的是()?cIassMyClass(pubIic:voidMyClass(inta){X=a;}〃①intf(inta,intb)〃②(X=a;Y=b;intf(inta,intb,intc=0)//③(X=a;Y二b;Z=c;}staticvoidg(){X=10;}//④private:intX,Y,Z;];A.語句①是類MyClass的構(gòu)造函數(shù)定義B.語句②是類和語句③實(shí)現(xiàn)類成員函數(shù)的重載C.語句④實(shí)現(xiàn)對(duì)類成員變量X的更新操作D,語句①、②、③和④都不正確答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:20、類aClass的定義如下:classaCIass{pubIic:aCIass(){}aCIass(inti){value=newint(i);}int*value;}若要對(duì)類中的value賦值,則下面的語句中,正確的是( )。aClassmy;my.value=10;aClassmy;*my.value=10;aClassmy;my.*value=10;aClassmy(10);答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:21、對(duì)于下面定義的類MyClass,在函數(shù)f()中將對(duì)象成員n的值修改為50的語句(劃線處)應(yīng)該是( )?cIassMyClass(pubIic:MyClass(intx)(n=x;)voidSetVaIue(intn1)(n=n1;)private:intn;);intf()(MyClass*ptr=newMyClass(45);)MyClass(50)SetValue(50)ptr->SetVaIue(50)ptr->n=50答案:C分值:2難度:1知識(shí)點(diǎn):評(píng)析:22、類MyClass的定義如下:cIassMyClass(pubIic:MyClassO(vaIue=0;}setVariable(inti)(vaIue=i;}private:intvalue;);則以下各項(xiàng)對(duì)如下語句序列的描述中,正確的是( ン。MyClass*p,my;p=&my;A.語句"p=&my;”是把對(duì)象my賦值給指針變量pB.語句"MyClass*p.my;”會(huì)調(diào)用兩次類MyCIass的構(gòu)造函數(shù)C.對(duì)語句”*p.SetVariable(5)”的調(diào)用是正確的D.語句”p->SetVariable(5)與語句"my.SetVariable(5)”等價(jià)答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:23、類的析構(gòu)函數(shù)是在( )被自動(dòng)調(diào)用的?A.類創(chuàng)建時(shí)B.創(chuàng)建對(duì)象時(shí)C,刪除對(duì)象時(shí)D.不自動(dòng)調(diào)用答案:C分值:2難度:1知識(shí)點(diǎn):評(píng)析:24、對(duì)于任何ー個(gè)類,析構(gòu)函數(shù)最多有( )個(gè)。0123答案:B分值:2難度:1知識(shí)點(diǎn):評(píng)析:25、通常,拷貝構(gòu)造函數(shù)的參數(shù)是( )?A.某個(gè)對(duì)象名B.某個(gè)對(duì)象的成員名C.某個(gè)對(duì)象的引用名D.某個(gè)對(duì)象的指針名答案:C分值:2難度:3知識(shí)點(diǎn):評(píng)析:26、下列關(guān)于類的訪問權(quán)限的描述中,錯(cuò)誤的是( レA.說明為公有的成員可以被程序中的任何代碼訪問B.說明為私有的成員只能被類的成員和說明為友元類的成員函數(shù)訪問C.說明為保護(hù)的成員,除了能被本身的成員函數(shù)和說明為友元類的成員函數(shù)訪問外,該類的派生類的成員也可以訪問D.類的所有成員都可以被程序中的任何代碼訪問答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:2フ、ー個(gè)類的友元函數(shù)或友元類可以訪問該類的( )。A.私有成員B.保護(hù)成員C,公有成員D.所有成員答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:28、下列關(guān)于成員函數(shù)特征的描述中,錯(cuò)誤的是( ),A.成員函數(shù)一定是內(nèi)聯(lián)函數(shù)B.成員函數(shù)可以重載C,成員函數(shù)可以設(shè)置參數(shù)的默認(rèn)值D,成員函數(shù)可以是靜態(tài)的答案:A分值:2難度:1知識(shí)點(diǎn):評(píng)析:29、下面對(duì)類中靜態(tài)數(shù)據(jù)成員的描述中,正確的是( )?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ù)成員不能通過類的對(duì)象調(diào)用答案:A分值:2難度:1知識(shí)點(diǎn):評(píng)析:30、C++中對(duì)于類中定義的成員,其默認(rèn)的訪問權(quán)限為( )〇pubIicprotectedprivatestatic答案:c分值:2難度:1知識(shí)點(diǎn):評(píng)析:31、類的析構(gòu)函數(shù)的作用是( )。A.作為類的一般成員函數(shù)B.類的初始化C.對(duì)象的初始化D.對(duì)象掃尾處理答案:D分值:2難度:2知識(shí)點(diǎn):評(píng)析:32、若有一個(gè)MyClass類,則執(zhí)行語句"MyClass,a,b(2),*p后,自動(dòng)調(diào)用該類的構(gòu)造函數(shù)( )次。2345答案:A分值:2難度:1知識(shí)點(diǎn):評(píng)析:33、類MyClass的定義如下:cIassMyClass(pubIic:MycIass(){}MyCIass(inti){value=newint(i);)int*value;);若要對(duì)value賦值,則下面語句正確的是( )。MyClassmy;my.value=10;MyClassmy;*my.vaIue=10;MyClassmy;my.*value=10;MyClassmy(10);答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:34、下面是對(duì)類MyClass的定義,對(duì)定義中語句描述正確的是()〇cIassMyClass(pubIic:voidMyClass(inta){X=a;}//①intf(inta,intb)〃②(X二a;Y=b;}intf(inta,intb,intc=0)//(3)X=a;Y=b;Z-c;}staticvoidg(){X=10;}//④private:intX,Y.Z;1;A?語句①是類MyClass的構(gòu)造函數(shù)定義B.語句②是類和語句③實(shí)現(xiàn)類成員函數(shù)的重載C.語句④實(shí)現(xiàn)對(duì)類成員變量X的更新操作D,語句①、②、③和④都不正確答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:35、類aClass的定義如下:classaClass{public:aClass(){}aClass(inti){value=newint(i);}int*vaIue;}若要對(duì)類中的value賦值,則下面的語句中,正確的是( )。aClassmy;my.value=10;aClassmy;*my.value=10;aClassmy;my.*value=10;aClassmy(10);答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:36、每個(gè)類()構(gòu)造函數(shù)。A.只能有一個(gè)B.只可有公有的C,可以有多個(gè)D,只可有缺省的答案:C分值:2難度:1知識(shí)點(diǎn):評(píng)析:37、已知類A中的一個(gè)成員函數(shù)的說明如下:voidSet(A&a);則該函數(shù)的參數(shù)“A&a”的含義是( )。A.指向A的指針為aB,將變量a的地址賦給類AC.類A對(duì)象引用a用作函數(shù)的形參D,變量A與a按位與后作函數(shù)參數(shù)答案:C分值:2難度:3知識(shí)點(diǎn):評(píng)析:38、下列特性中,C與C++共有的是( )。A?繼承B.封裝C.多態(tài)性D.函數(shù)定義不能嵌套答案:D分值:2難度:2知識(shí)點(diǎn):評(píng)析:39、假定AB為一個(gè)類,則執(zhí)行ABx;語句時(shí)將自動(dòng)調(diào)用該類的()。A.有參構(gòu)造函數(shù)B.無參構(gòu)造函數(shù)C.拷貝構(gòu)造函數(shù)D,賦值構(gòu)造函數(shù)答案:B分值:2難度:1知識(shí)點(diǎn):評(píng)析:40、如果類A被說明成類B的友元,則().A.類A的成員即類B的成員B.類B的成員即類A的成員C.類A的成員函數(shù)不得訪問類B的成員D.類B不一定是類A的友元答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:41、下列不是類的成員函數(shù)的是( )?A.構(gòu)造函數(shù)B.析構(gòu)函數(shù)C.友元函數(shù)D.拷貝構(gòu)造函數(shù)答案:C分值:2難度:1知識(shí)點(diǎn):評(píng)析:42、拷貝(復(fù)制)構(gòu)造函數(shù)的作用是( ),A.進(jìn)行數(shù)據(jù)類型的轉(zhuǎn)換B.用對(duì)象調(diào)用成員函數(shù)C.用對(duì)象初始化對(duì)象D.用一般類型的數(shù)據(jù)初始化對(duì)象答案:C分值:2難度:3知識(shí)點(diǎn):評(píng)析:43、若要把函數(shù)voidf()定義為類aClass的友元函數(shù),則應(yīng)該在類aClass的定義中加入的語句是( )。voidf();staticvoidf();friendf();friendvoidf();答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:44、下列關(guān)于析構(gòu)函數(shù)的描述中,錯(cuò)誤的是( )。A.類中有且僅有一個(gè)析構(gòu)函數(shù)B.析構(gòu)函數(shù)可以有形參C.析構(gòu)函數(shù)沒有函數(shù)類型D.析構(gòu)函數(shù)在對(duì)象消失時(shí)被自動(dòng)執(zhí)行答案:B分值:2難度:2知識(shí)點(diǎn):評(píng)析:45、下面對(duì)靜態(tài)數(shù)據(jù)成員的描述中,正確的是( )〇A.靜態(tài)數(shù)據(jù)成員可以在類體內(nèi)進(jìn)行初始化B.靜態(tài)數(shù)據(jù)成員不可以被類的對(duì)象調(diào)用C.靜態(tài)數(shù)據(jù)成員不能受private控制符的作用D.靜態(tài)數(shù)據(jù)成員可以直接用類名調(diào)用答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:【閱讀程序題】1、寫出下列程序的運(yùn)行結(jié)果#include<iostream>usingnamespacestd;cIassMyClass(pubIic:voidDispIayMessage(constchar*Text,intType)(coutくく“Message:TextゴくくText;coutくく“TextゴくくType+10くくendl;]voidDispIayMessage(constchar*Text,unsignedintType)(coutくく“Message:Text="くくText;coutくく"Text="くくTypeくくendl;}};voidmain()(unsignedcharvalue二〇;MyClassmy;my.DispIayMessage("HeIIo",vaIue);}答案:Message:Text=HeIloText=10分值:5難度:3知識(shí)點(diǎn):評(píng)析:2、寫出下列程序的運(yùn)行結(jié)果#incIude<iostream>usingnamespacestd;cIassMyClass(inta,b;pubIic:MyClass(intx=0,inty=0);?MyClass(););MyCIass::MyCIass(intx,inty):a(x),b(y)[cout?"Thisisaconstructor!a+b二"くくa+bくくendI;}MyCIass::?MyCIass()cout?,zThisisadestructor!zz?endI;)voidmain()(MyClassx,y(10,20),z(y);}答案:Thisisaconstructor!a+b=0Thisisaconstructor!a+b=30Thisisadestructor!Thisisadestructor!Thisisadestructor!分值:5難度:3知識(shí)點(diǎn):評(píng)析:3、寫出下列程序的運(yùn)行結(jié)果#incIude<iostream>usingnamespacestd;cIassMyClass(pubIic:MyClass(inta)(X二a;cout?z,Thisis'くくXくく“'sconstuctor."?endl;)?MyClass()Icout?"Thisis'くくXくく“'sdestructor."?endl;)private:intX;);voidmain()(MyClasscommonObj(1);staticMyClassstaticObj(2);}答案:Thisis11sconstuctor.Thisis2*sconstuctor.Thisis1*sdestructor.Thisis2'sdestructor.分值:5難度:3知識(shí)點(diǎn):評(píng)析:4、寫出下列程序的運(yùn)行結(jié)果#include<iostream>usingnamespacestd;cIassMyClass(pubIic:MyClassO;voidPrint();?MyClassO;private:inti;staticintj;};intMyClass::j=0;MyClass::MyClass()(cout?,Thisisaconstructor!zz?endl;j+二10}voidMyCIass::Print()(cout?z,Thevalueofjis”くくjくくendI;1MyCIass::?MyClass()(cout?"Thisisadestructor!"?endI;)voidmain()(MyCIassfirst,second;first.Print();second.Print();)答案:Thisisaconstructor!Thisisaconstructor!Thevalueofjis20Thevalueofjis20Thisisadestructor!Thisisadestructor!分值:5難度:2知識(shí)點(diǎn):評(píng)析:5,寫出下列程序的運(yùn)行結(jié)果#include<iostream>usingnamespacestd;cIassMyClass(charch;pubIic:MyClassO;MyClass(charcharacter);voidPrint();?MyClassO;};MyClass::MyClass()(cout?/Thisisaconstructor!/z?endI;chゴa';1MyCIass::MyCIass(charcharacter)(cout?zThisisaconstructor!zz?endI;ch=character;}voidMyClass::Print()(cout?z,Thevalueofchis”くくchくくendI;}MyClass::?MyClass()(cout?""Fhisisadestructor!"?endI;)voidmain()(MyClassfirst,secondb*);first.Print();second.Print();}答案:Thisisaconstructor!Thisisaconstructor!ThevalueofchisaThevalueofchisbThisisadestructor!Thisisadestructor!分值:5難度:3知識(shí)點(diǎn):評(píng)析:6,寫出下列程序的運(yùn)行結(jié)果#include<iostream>usingnamespacestd;cIassA(inta,b;pubIic:A(){a=b=0;}A(intaa,intbb)(a-aa;b=bb;cout?a?*1?bb?endI;});voidmain()(Ax,y(2.3);)答案:23分值:5難度:3知識(shí)點(diǎn):評(píng)析:フ、寫出下列程序的運(yùn)行結(jié)果#incIude<iostream>usingnamespacestd;cIassSampIe(intn;pubIic:SampIe(inti){n=i;}voidprint()(coutくく"1:nゴくくnくく“,”;voidprint()constcout?z2:nゴくくnくくendI;)voidmain()(SampIea(10);constSampIeb(20);print();print();)答案:1:n=10,2:n=20分值:5難度:3知識(shí)點(diǎn):評(píng)析:【編程題】選做1、描述ー個(gè)復(fù)數(shù)類Complex,私有數(shù)據(jù)為實(shí)部Real和虛部Image要求Complex類包含如下成員函數(shù):(1)有構(gòu)造函數(shù),缺省時(shí)實(shí)部Real和虛部Imag置為〇;voidSetReaI(doublea)能修改ReaI的值;voidSetImag(doubleb)能修改Imag的值;doubleGetReaI()能取ReaI的值:doubleGetlmag()能取Imag的值:(6)重載運(yùn)算符+,完成兩個(gè)復(fù)數(shù)的加法。答案:pca701.txt#incIude<iostream>usingnamespacestd;cIassCompIex{doubleReaI,Imag;pubIic:Complex(doubIea二〇,doubIeb=0){Real=a;Imag=b;}voidSetReaI(doublea){ReaI=a;}voidSetImag(doubleb){Imag=b;}DoubIeGetReaI(){returnReaI;}doubleGetImag(){returnImag;}CompIexoperator+(CompIex&a)(Complext;t.Real=Real+a.Real;t.Imag=lmag+a.Imag;returnt;};【章節(jié)】第8章繼承與派生【知識(shí)點(diǎn)】1、繼承的相關(guān)概念2、派生類的構(gòu)造與析構(gòu)3、繼承的應(yīng)用【單選題】1,若類A和類B的定義如下:cIassAIinti,j;pubIic:intgeti()(returni;});cIassB:pubIicA(intk;pubIic:voidmakeO(k=i*j;});則上述中,()是非法的表達(dá)式。k=i*jintk;returni;voidmake();答案:A分值:2難度:1知識(shí)點(diǎn):評(píng)析:2、關(guān)于公有繼承,下列說法錯(cuò)誤的是(A.基類的公有成員和保護(hù)成員被繼承后作為派生類的公有成員和保護(hù)成員。B.派生類的其他成員可以直接訪問基類的公有成員和保護(hù)成員。C.派生類的對(duì)象可以訪問基類的私有成員。D.派生類成員和對(duì)象都無法訪問基類的私有成員。答案:C分值:2難度:1知識(shí)點(diǎn):評(píng)析:3,下列說法中錯(cuò)誤的是( )。A.公有繼承時(shí)基類中的public成員在派生類中仍是public的;B.公有繼承時(shí)基類中的private成員在派生類中仍是private的;C.私有繼承時(shí)基類中的public成員在派生類中是private的:D.保護(hù)繼承時(shí)基類中的public成員在派生類中是protected的;答案:B分值:2難度:1知識(shí)點(diǎn):評(píng)析:4、在公有繼承中,基類中的公有成員作為派生類的()〇A.公有成員B.私有成員C.保護(hù)成員D.私有成員函數(shù)答案:A分值:2難度:1知識(shí)點(diǎn):評(píng)析:5、基類中的()不允許外界訪問,但允許派生類的成員訪問,這樣既有一定的隱藏能力,又提供了開放的接口。A.公有成員B.私有成員C.保護(hù)成員D.私有成員函數(shù)答案:C分值:2難度:1知識(shí)點(diǎn):評(píng)析:6、在下面的表達(dá)式中,不表示虛繼承的是( )。virtuaIpubIicpubIicvirtuaIpubIicvirtual答案:c分值:2難度:1知識(shí)點(diǎn):評(píng)析:7、設(shè)置虛函數(shù)的聲明中,正確的是( )?A.簡化程序B.消除二義性C.提高運(yùn)行效率D.減少目標(biāo)代碼答案:B分值:2難度:1知識(shí)點(diǎn):評(píng)析:8、下面敘述錯(cuò)誤的是( )?A.基類的protected成員在派生類中仍然是protectedB.基類的protected成員在public派生類中仍然是protected的C.基類的protected成員在private派生類中是private的D.基類的protected成員不能被派生類的對(duì)象訪問答案:A分值:2難度:1知識(shí)點(diǎn):評(píng)析:9、派生類的對(duì)象對(duì)它的基類成員中()是可以訪問的。A.公有繼承的公有成員B.公有繼承的私有成員C.公有繼承的保護(hù)成員D.私有繼承的公有成員答案:A分值:2難度:1知識(shí)點(diǎn):評(píng)析:10、下列對(duì)派生類的描述中,錯(cuò)誤的是( )。A.一個(gè)派生類可以作為另ー個(gè)派生類的基類B.派生類至少有一個(gè)基類C.派生類的缺省繼承方式是privateD.派生類只含有基類的公有成員和保護(hù)成員答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:11.、繼承具有(),即當(dāng)基類本身也是某ー個(gè)類派生類時(shí),底層的派生類也會(huì)自動(dòng)繼承間接基類的成員。A.規(guī)律性B.傳遞性C.重復(fù)性D.多樣性答案:B分值:2難度:1知識(shí)點(diǎn):評(píng)析:12、設(shè)有基類定義:cIassCbase(private:inta;protected:intb;pubIic:intc;);派生類采用何種繼承方式可以使成員變量b成為自己的私有成員()。A,私有繼承B.保護(hù)繼承C.公有繼承D.私有、保護(hù)、公有均可答案:A分值:2難度:1知識(shí)點(diǎn):評(píng)析:13、多繼承派生類構(gòu)造函數(shù)構(gòu)造對(duì)象時(shí),()被最先調(diào)用。A.派生類自己的構(gòu)造函數(shù)B.虛基類的構(gòu)造函數(shù)C.非虛基類的構(gòu)造函數(shù)D.派生類中子對(duì)象類的構(gòu)造函數(shù)答案:B分值:2難度:1知識(shí)點(diǎn):評(píng)析:14、派生類的對(duì)象對(duì)它的哪ー類基類成員是可以訪問的?()。A.保護(hù)繼承的基類的公有成員B.公有繼承的基類的保護(hù)成員C.公有繼承的基類的私有成員D.公有繼承的基類的公有成員答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:15、關(guān)于保護(hù)繼承,下列說法錯(cuò)誤的是( )?A.保護(hù)繼承的特點(diǎn)是基類的所有公用成員和保護(hù)成員都成為派生類的保護(hù)成員。B.派生類對(duì)象不能訪問基類中的任何成員。C.派生類的對(duì)象可以訪問基類的公有成員。D.保護(hù)繼承的派生類和私有繼承的派生類,對(duì)基類成員訪問屬性是相同的。答案:C分值:2難度:1知識(shí)點(diǎn):評(píng)析:16、關(guān)于私有繼承,下列說法錯(cuò)誤的是( )?A.基類的公有成員和保護(hù)成員被繼承后作為派生類的私有成員,派生類的其他成員可以直接訪問他們。B.基類的公有成員和保護(hù)成員被繼承后作為派生類的私有成員,派生類的其他成員不能直接訪問他們。C.基類的私有成員,派生類的成員和派生類的對(duì)象都無法訪問。D.派生類的對(duì)象無法訪問基類的所有成員。答案:B分值:2難度:1知識(shí)點(diǎn):評(píng)析:17、在公有繼承中,基類中的保護(hù)成員作為派生類的( )。A.公有成員B.私有成員C.保護(hù)成員D.私有成員函數(shù)答案:C分值:2難度:1知識(shí)點(diǎn):評(píng)析:18、基類( )在派生類中的性質(zhì)和繼承的性質(zhì)一樣。A.公有成員B.私有成員C.保護(hù)成員D.私有成員函數(shù)答案:A分值:2難度:1知識(shí)點(diǎn):評(píng)析:19.派生類的對(duì)象對(duì)它的基類成員中的()是可以訪問的。A.公有繼承的公有成員B.公有繼承的私有成員C,公有繼承的保護(hù)成員D,私有繼承的私有成員答案:A分值:2難度:1知識(shí)點(diǎn):評(píng)析:20、下列虛基類的聲明中,正確的是( )。classvirtualB:pubIicAvirtualclassB:pubIicAclassB:pubIicAvirtuaIcIassB:virtualpubIicA答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:21、下列說法中錯(cuò)誤的是()〇A.公有繼承時(shí)基類中的public成員在派生類中仍是public的;B.公有繼承時(shí)基類中的private成員在派生類中仍是private的;C,私有繼承時(shí)基類中的public成員在派生類中是private的;D.保護(hù)繼承時(shí)基類中的public成員在派生類中是protected的;答案:B分值:2難度:1知識(shí)點(diǎn):評(píng)析:22、在公有繼承中,基類中的公有成員作為派生類的( )?A.公有成員B.私有成員C.保護(hù)成員D.私有成員函數(shù)答案:A分值:2難度:1知識(shí)點(diǎn):評(píng)析:23、基類中的( )不允許外界訪問,但允許派生類的成員訪問,這樣既有一定的隱藏能力,又提供了開放的接口。A.公有成員B.私有成員C.保護(hù)成員D.私有成員函數(shù)答案:C分值:2難度:1知識(shí)點(diǎn):評(píng)析:24、在下面的表達(dá)式中,不表示虛繼承的是( )。virtualpubIicpubIicvirtualpubIicvirtuaI答案:C分值:2難度:1知識(shí)點(diǎn):評(píng)析:25、設(shè)置虛函數(shù)的聲明中,正確的是()。A.簡化程序B.消除二義性C.提高運(yùn)行效率D.減少目標(biāo)代碼答案:B分值:2難度:1知識(shí)點(diǎn):評(píng)析:26、下面敘述錯(cuò)誤的是( ).A.基類的protected成員在派生類中仍然是protectedB.基類的protected成員在public派生類中仍然是protected的C.基類的protected成員在private派生類中是private的D.基類的protected成員不能被派生類的對(duì)象訪問答案:A分值:2難度:1知識(shí)點(diǎn):評(píng)析:27、派生類的對(duì)象對(duì)它的基類成員中()是可以訪問的。A.公有繼承的公有成員B.公有繼承的私有成員C.公有繼承的保護(hù)成員D.私有繼承的公有成員答案:A分值:2難度:1知識(shí)點(diǎn):評(píng)析:28、下列對(duì)派生類的描述中,錯(cuò)誤的是( )?A.ー個(gè)派生類可以作為另ー個(gè)派生類的基類B.派生類至少有一個(gè)基類C.派生類的缺省繼承方式是privateD.派生類只含有基類的公有成員和保護(hù)成員答案:D分值:2難度:1知識(shí)點(diǎn):評(píng)析:29、繼承具有( ),即當(dāng)基類本身也是某ー個(gè)類派生類時(shí),底層的派生類也會(huì)自動(dòng)繼承間接基類的成員。A.規(guī)律性B.傳遞性C.重復(fù)性D.多樣性答案:B分值:2難度:1知識(shí)點(diǎn):評(píng)析:30、設(shè)有基類定義:cIassCbase{private:inta;protected:intb;pubIic:intc;);派生類采用何種繼承方式可以使成員變量b成為自己的私有成員()。A,私有繼承B.保護(hù)繼承C,公有繼承D,私有、保護(hù)、公有均可答案:A分值:2難度:1知識(shí)點(diǎn):評(píng)析:【閱讀程序題】1、看程序?qū)懡Y(jié)果#incIude<iostream.h>cIassA{pubIic:A(char*s){cout?s?endl;}~A()());cIassB:virtualpubIicA{pubIic:B(char*s1,char*s2):A(s1){cout?s2?endI;}};cIassC:virtuaIpubIicA(pubIic:C(char*s1,char*s2):A(s1)(cout?s2?endI;});cIassD:publicB,publicC{pubIic:D(char*s1,char*s2,char*s3,char*s4):B(s1,s2),C(s1,s3),A(s1)(cout?s4?endI;)}:voidmain()(D*p=newD("classA","classB","classC","classD");deletep;)答案:創(chuàng)建D對(duì)象時(shí),只有在D的構(gòu)造函數(shù)的初始化列表中列出的虛基類構(gòu)造函數(shù)被調(diào)用,D的兩個(gè)基類B、C的構(gòu)造函數(shù)中的虛基類構(gòu)造函數(shù)被忽略,不執(zhí)行,從而保證在D對(duì)象中只有一個(gè)虛基類子對(duì)象。運(yùn)行結(jié)果:cIassAcIassBcIassCcIassD分值:5難度:3知識(shí)點(diǎn):評(píng)析:2、看程序?qū)懡Y(jié)果#include<iostream.h>cIassBase{inti;pubIic:Base(intn){cout?/Constuctingbaseclass"?endI;i=n;}?BaseO(coutくく“Destructingbaseclass"?endI;}voidshowi(){cout?i?1”;}intGeti()(returni;});cIassDerived:pubIicBase{intj;Baseaa;pubIic:Derived(intn,intm,intp):Base(m),aa(p){coutくく/Constructingderivedclass?endI;j=n;}Derived(){cout?"Destructingderivedclass"?endl;}voidshow(){Base::showi();cout?j?","?aa.Geti()?endI;});voidmain(){Derivedobj(8,13,24);obj.show();)答案:派生類的構(gòu)造函數(shù)的執(zhí)行次序,先調(diào)用基類的構(gòu)造函數(shù),再調(diào)用派生類中子對(duì)象類的構(gòu)造函數(shù),最后調(diào)用派生類的構(gòu)造函數(shù)。析構(gòu)函數(shù)的執(zhí)行次序與構(gòu)造函數(shù)正好相反,先調(diào)用派生類的析構(gòu)函數(shù),再調(diào)用派生類中子對(duì)象類的析構(gòu)函數(shù),最后調(diào)用基類的析構(gòu)函數(shù)。運(yùn)行結(jié)果:ConstuctingbaseclassConstuctingbaseclassConstructingderivedclass13,8,24DestructingderivedcIassDestructingbaseclassDestructingbaseclass分值:5難度:4知識(shí)點(diǎn):評(píng)析:3、看程序?qū)懡Y(jié)果#include<iostream.h>cIassA{pubIic:A(char*s){cout?s?endI;}?A(){}):cIassB:virtuaIpubIicA{pubIic:B(char*s1,char*s2):A(s1){cout?s2?endI;});cIassC:virtuaIpubIicA{pubIic:C(char*s1,char*s2):A(s1)(cout?s2?endI;});cIassD:publicB,publicC[pubIic:D(char*s1,char*s2,char*s3,char*s4):B(s1,s2),C(s1,s3),A(s1){cout?s4?endl;)}:voidmain()(D*p=newD("classA","classB","classC","classD");deletep;)答案:創(chuàng)建D對(duì)象時(shí),只有在D的構(gòu)造函數(shù)的初始化列表中列出的虛基類構(gòu)造函數(shù)被調(diào)用,D的兩個(gè)基類B、C的構(gòu)造函數(shù)中的虛基類構(gòu)造函數(shù)被忽略,不執(zhí)行,從而保證在D對(duì)象中只有一個(gè)虛基類子對(duì)象。運(yùn)行結(jié)果:cIassAcIassBcIassCcIassD分值:5難度:4知識(shí)點(diǎn):評(píng)析:4,看程序?qū)懡Y(jié)果#include<iostream.h>cIassBase(inti;pubIic:Base(intn){cout?/Constuctingbaseclass"?endI;i=n;}"Base(){coutくく“Destructingbaseclass"?endI;}voidshowi(){cout?i?二";}intGeti(){returni;});cIassDerived:publicBaseIintj;Baseaa;pubIic:Derived(intn,intm,intp):Base(m),aa(p){cout?zConstructingderivedcIass"?endI;j=n;}Derived(){coutくく“Destructingderivedclass"?endl;}voidshow(){Base::showi();cout?jくく","?aa.Geti()?endI;});voidmain(){Derivedobj(8,13,24);obj.show();)答案:派生類的構(gòu)造函數(shù)的執(zhí)行次序,先調(diào)用基類的構(gòu)造函數(shù),再調(diào)用派生類中子對(duì)象類的構(gòu)造函數(shù),最后調(diào)用派生類的構(gòu)造函數(shù)。析構(gòu)函數(shù)的執(zhí)行次序與構(gòu)造函數(shù)正好相反,先調(diào)用派生類的析構(gòu)函數(shù),再調(diào)用派生類中子對(duì)象類的析構(gòu)函數(shù),最后調(diào)用基類的析構(gòu)函數(shù)’,運(yùn)行結(jié)果:ConstuctingbaseclassConstuctingbaseclassConstructingderivedclass13,8,24DestructingderivedcIassDestructingbaseclassDestructingbaseclass分值:5難度:3知識(shí)點(diǎn):評(píng)析:5、寫出下列程序運(yùn)行結(jié)果:#incIude<iostream>usingnamespacestd;cIassA{intx;pubIic:intz;voidsetx(inti)(x=i;}intgetx(){returnx;}};cIassB:pubIicA(intm;pubIic:voidsetvaIue(inta,intb,intc)(setx(c);z二b;m=a;}voiddisplay(){cout?getx()くく","くくzくぐ,“くくmくくendI;));intmain(){Bobj;obj.setvalue(2,3,4);obj.dispIay();return0;}答案:4,3,2分值:5難度:3知識(shí)點(diǎn):評(píng)析:6、寫出程序運(yùn)行結(jié)果:#incIude<iostream>usingnamespacestd;cIassbase(pubIic:voidwho()(cout?"basecIass"?endI;});cIassderive1:publicbase{pubIic:voidwho(){cout?"derive1cIass"?endI;});cIassderive2:publicbasepubIic:voidwho(){cout?zderive2class”くくendI;});voidmain(){baseobj1;obj1.who();derive1obj2;obj2.base::who();derive2obj3;obj3.base::who();}答案:basecIassbasecIassbasecIass分值:5難度:3知識(shí)點(diǎn):評(píng)析:7、閱讀下列程序,寫出程序運(yùn)行結(jié)果。#incIude<iostream>usingnamespacestd;cIassBase(intx;pubIic:Base(inti)(x=i;cout?"ConstuctorofBase"?endI;1?Base(){coutくく"DestuctorofBase"?endI;}voidshow。{coutくぐxゴくくxくくendl;}};cIassDerived:pubIicBase(Based;pubIic:Derived(inti):Base(i),d(i){coutくく“ConstuctorofDerived"?endl;}?Derived(){coutくく"DestuctorofDerived"?endI;});intmain()Derivedobj(5);obj.show();return0;)答案:ConstuctorofBaseConstuctorofBaseConstuctorofDerivedx=5DestuctorofDerivedDestuctorofBaseDestuctorofBase分值:5難度:4知識(shí)點(diǎn):評(píng)析:8、閱讀下列程序,寫出程序運(yùn)行結(jié)果。#include<iostream>usingnamespacestd;cIassPerson(pubIic:Person(){coutくく“ConstructorofPerson"?endI;)?Person。{coutくくDestructorofPerson/<<endI;}};cIassStudent:pubIicPerson(pubIic:Student(){cout?"ConstructorofStudent"?endl;}"Student()(cout?"DestructorofStudent"?endl;});class'Feacher:publicPerson(pubIic:Teacher(){cout?"ConstructorofTeacher"?endI;}Teacher(){cout?"DestructorofTeacher"?endl;});intmain(){Students;Teachert;return0;)答案:ConstructorofPersonConstructorofStudentConstructorofPersonConstructorofTeacherDestructorofTeacherDestructorofPersonDestructorofStudentDestructorofPerson分值:5難度:3知識(shí)點(diǎn):評(píng)析:9、閱讀下列程序,寫出程序運(yùn)行結(jié)果。#include<iostream>usingnamespacestd;cIassdata(pubIic:intx;data(intn)x二n;coutくく“data'くくendl;)?data。{coutくく“data"くくendl;}};cIassA{datad1;pubIic:A(intx):d1(x){cout?"A"?endI;};voiddispa()(cout?d1.xくく",”;}?A(){cout?"A"?endI;};);cIassB:publicAdatad2;pubIic:B(intx):A(x-1),d2(x){cout?,B,,?endI;}~B(){coutくく"B'くくendI;};voiddispb()(dispa();cout?d2.x?endI;};intmain()(Bobj(5);obj.dispb();return0;}答案:dataAdataB4,5BdataAData分值:5難度:4知識(shí)點(diǎn):評(píng)析:10、閱讀下列程序,寫出程序運(yùn)行結(jié)果。#incIude<iostream>usingnamespacestd;cIassA(protected:intx,y;pubIic:AO{x=3,y=4;cout?"AOConstructor!"?endI;}A(intm,intn)x=m,y=n;cout?,ZA(intm,intn)Constructor!/z?endI;}?A(){cout?Z,ADestructor!z/?endI;}1;cIassB:pubIicA{protected:inti,j;pubIic:B(inta,intb):A(a,b){i=3,j=4;cout?"B(inta,intb)Constructor!zz?endI;}B(inta,intb,intm,intn):A(m,n)(i=a,j=b;cout?zB(inta,intb,intm,intn)Constructor!z,くくendI;)?B(){cout?Z,BDestructor!zz?endI;}voidprint()(coutくくxくく“‘くくyくく“zくくiくく“‘くくjくくendI;});intmain()(Bd(1.2);d.print();return0;)答案:A(intm,intn)Constructor!B(inta,intb)Constructor!1234BDestructor!ADestructor!分值:5難度:4知識(shí)點(diǎn):評(píng)析:閱讀下列程序,寫出程序運(yùn)行結(jié)果。#incIude<iostream>usingnamespacestd;cIassA{protected:intx,y;pubIic:A(intm=5,intn=6)(x=m,y=n;});cIassB:pubIicA{protected:inti,j;pubIic:B(inta,intb)(i二a,j二b;}B(b,intm,intn):A(m,n)(i=a,j=b;)voidprint()(coutくくxくく’‘くくyくく““くくiくく“‘くくjくくendI;)};intmain()(Bd(1,2);d.print();Bc(1,2,3,4);c.print();return0;}答案:56123412分值:5難度:5知識(shí)點(diǎn):評(píng)析:12、寫出下列程序運(yùn)行結(jié)果:incIude<iostream>usingnamespacestd;cIassAintx;pubIic:intz;voidsetx(inti){x=i;}intgetx(){returnx;});cIassB:pubIicA(intm;pubIic:voidsetvaIue(inta,intb,intc)(setx(c);z=b;m二a;)voiddisplay()(cout?getx()くく","くくzくぐ‘,“くくmくくendI;});intmain()(Bobj;obj.setvaIue(2,3,4);obj.dispIay();return0;}答案:4,3,2分值:5難度:4知識(shí)點(diǎn):評(píng)析:13、寫出程序運(yùn)行結(jié)果:incIude<iostream>usingnamespacestd;cIassbase(pubIic:voidwho(){cout?"basecIass"?endI;}cIassderive1:publicbasepubIic:voidwho()(cout?/,derive1class”くくendに}};cIassderive2:publicbase(pubIic:voidwho(){cout?"derive2cIass"?endI;});voidmain()(baseobj1;obj1.who();derive1obj2;obj2.base::who();derive2obj3;obj3.base::who();)答案:basecIassbasecIassbasecIass分值:5難度:4知識(shí)點(diǎn):評(píng)析:14、閱讀下列程序,寫出程序運(yùn)行結(jié)果。incIude<iostream>usingnamespacestd;cIassBase(intx;pubIic:Base(inti)(x=i;cout?"ConstuctorofBase"?endI;)?Base(){coutくく“DestuctorofBase"?endI;}voidshow。{coutくく“xゴくくxくくendl;}};cIassDerived:publicBaseBased;
pubIic:Derived(inti):Base(i),d(i){cout?zzConstuctorofDerived”くくendI;}"Derived(){cout?/,DestuctorofDerivedz?endI;});intmain()(Derivedobj(5);obj.show();return0;)答案:ConstuctorofBaseConstuctorofBaseConstuctorofDerivedx=5DestuctorofDerivedDestuctorofBaseDestuctorofBase分值:5難度:4知識(shí)點(diǎn):評(píng)析:15、閱讀下列程序,寫出程序運(yùn)行結(jié)果。#incIude<iostream>usingnamespacestd;cIassPerson(pubIic:Person(){coutくく“ConstructorofPerson”くくendI;}?Person。{cout?"DestructorofPerson"?endI;)};cIassStudent:pubIicPerson(publie:Student()(cout?"ConstructorofStudent/z?endI;}"Student()(cout?"DestructorofStudent"?endI;}};class'Feacher:publicPersonofofTeacher"?ofofTeacher"?endI;}Teacher"?endl;}Teacher(){cout?"ConstructorTeacher(){coutくくDestructor):
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/IEC 24741:2024 EN Information technology - Biometrics - Overview and application
- 【正版授權(quán)】 ISO 24322:2024 EN Timber structures - Methods of test for evaluation of long-term performance - Part 1: Wood-based products in bending
- 【正版授權(quán)】 ISO 5284:2025 EN Conveyor belts - List of equivalent terms
- 【正版授權(quán)】 ISO 22915-1:2024 EN Industrial trucks - Verification of stability - Part 1: General
- 2025年度高新技術(shù)產(chǎn)業(yè)園區(qū)運(yùn)營承包經(jīng)營合同
- 生物技術(shù)課程導(dǎo)入計(jì)劃
- 各行各業(yè)主管的共性與差異計(jì)劃
- 校外美術(shù)實(shí)踐基地建設(shè)計(jì)劃
- 老年醫(yī)學(xué)科醫(yī)生工作計(jì)劃
- 2025年灌裝機(jī)系列設(shè)備合作協(xié)議書
- GB/T 8151.12-2012鋅精礦化學(xué)分析方法第12部分:銀量的測定火焰原子吸收光譜法
- GB/T 4026-1992電器設(shè)備接線端子和特定導(dǎo)線線端的識(shí)別及應(yīng)用字母數(shù)字系統(tǒng)的通則
- 馬工程教材《公共財(cái)政概論》PPT-第二章 公共財(cái)政職能
- GB/T 15242.1-1994液壓缸活塞和活塞桿動(dòng)密封裝置用同軸密封件尺寸系列和公差
- GB/T 13762-2009土工合成材料土工布及土工布有關(guān)產(chǎn)品單位面積質(zhì)量的測定方法
- 釀酒工藝教案
- 地形圖的識(shí)別及應(yīng)用涉密地圖的保密管理課件
- 腹腔鏡手術(shù)的基本操作技巧課件
- 制造計(jì)量器具許可考核通用規(guī)范JJF12462010宣貫
- 隧道運(yùn)營養(yǎng)護(hù)管理手冊(cè)-下冊(cè)
- 2023年山東司法警官職業(yè)學(xué)院單招綜合素質(zhì)考試筆試題庫及答案解析
評(píng)論
0/150
提交評(píng)論