C++程序設(shè)計題庫及答案_第1頁
C++程序設(shè)計題庫及答案_第2頁
C++程序設(shè)計題庫及答案_第3頁
C++程序設(shè)計題庫及答案_第4頁
已閱讀5頁,還剩72頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

【章節(jié)】第1章C++基礎(chǔ)知識【知識點】1、C++程序的構(gòu)成與書寫形式;2、基本數(shù)據(jù)類型,常量、變量和表達式3、C++的標(biāo)準(zhǔn)輸入輸出【單選題】1、在C++中,源程序變?yōu)榭蓤?zhí)行程序的正確順序應(yīng)該是( )。A.編輯、鏈接、編譯、執(zhí)行B.編輯、編譯、鏈接、執(zhí)行C.編譯、編輯、鏈接、執(zhí)行D.編譯、鏈接、編輯、執(zhí)行答案:B2、要把高級語言編寫的源程序轉(zhuǎn)換為目標(biāo)程序,需要使用( )?A.編輯程序B.驅(qū)動程序C.調(diào)試程序D.編譯程序答案:D3、下列關(guān)于C++與C語言的關(guān)系描述中,錯誤的是( )。C語言是C++語言的ー個子集C++與C語言是兼容的C++對C語言進行了一些改進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è)計可以設(shè)計為自行修改錯誤D.面向?qū)ο蟪绦蚝苋菀赘拍罨鸢福篋5、以下選項中,合法的用戶標(biāo)識符是( )。long_2Test3DmaxA.dat答案:B6、下列描述中正確的是( )〇A.不是每個C++程序都必須包含預(yù)處理命令#includeC++程序必須有return語句C++程序中的變量必須定義在主程序內(nèi)部C++程序中所使用的符號常量可以不進行定義答案:A7、C++源程序文件的擴展名為( )。. CPPTOC\o"1-5"\h\z. C. DLL.EXE答案:A8、cout是10流庫預(yù)定義的( )〇A.類對象C,包含文件D.常量答案:B9、C++對C語言作了很多改進,即從面向過程變成為面向?qū)ο蟮闹饕蚴牵?)。A.增加了一些新的運算符B,允許函數(shù)重載,并允許設(shè)置缺省參數(shù)C.規(guī)定函數(shù)說明符必須用原型D,引進了類和對象的概念答案:D10、下列選項中,( )是不合法的標(biāo)識符.Program0bj23doubIeB_C_D答案:C11、下列標(biāo)識符中,不合法的用戶標(biāo)識符為( )。a?!_inta_10PAd答案:A12、只能向終端輸出ー個字符的函數(shù)是( )。pringf函數(shù)putchar函數(shù)getchar函數(shù)scanf函數(shù)答案:B13、如果有整型量intx=5,執(zhí)行情況x+:1.9后x的值為( )。67C.結(jié)果不確定D,表達式非法答案:A14、已知a=5,b=3,表達式a+=a?=++b*3的值為( )。4080100120答案:D20、在C++語言中,自定義的標(biāo)識符( )。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、下列符號屬于C++語言用戶標(biāo)識符的是()?D0ifvoidswitch答案:A39、任意一個類,析構(gòu)函數(shù)的個數(shù)最多是()?A,不限個數(shù)123答案:B【章節(jié)】第3章函數(shù)【知識點】1、C++函數(shù)的相關(guān)知識2、函數(shù)定義與函數(shù)的調(diào)用3、內(nèi)聯(lián)函數(shù)與函數(shù)重載【單選題】1、若有以下函數(shù)調(diào)用語句,在此函數(shù)調(diào)用語句中實參的個數(shù)是( )。fun(a+b,(y=10,y),fun(n,k,d));3456答案:A2、以下程序的運行結(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ù)是().func(red,rec2+1,(rec3,rec4));345D.有語法錯誤[答案]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ù)默認值定義錯誤的是( )。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、ー個函數(shù)功能不太復(fù)雜,但要求被頻繁調(diào)用,選用( )。A.內(nèi)聯(lián)函數(shù)B.重載函數(shù)C,遞歸函數(shù)D.嵌套函數(shù)答案:A8、下面有關(guān)重載函數(shù)的說法中正確的是( )。A.重載函數(shù)必須具有不同的返回值類型B.重載函數(shù)形參個數(shù)必須不同C.重載函數(shù)必須有不同的形參列表D,重載函數(shù)名可以不同答案:C9、在C++語言中,對函數(shù)參數(shù)默認值描述正確的是( )。A.函數(shù)參數(shù)的默認值只能設(shè)定一個B.一個函數(shù)的參數(shù)若有多個,則參數(shù)默認值的設(shè)定可以不連續(xù)C,函數(shù)必須設(shè)定默認值D.在設(shè)定參數(shù)的默認值后,該參數(shù)后面定義的所有參數(shù)都必須設(shè)定默認值答案:D10、考慮函數(shù)原型voidtest(inta,intb=7,charzゴ*'),下面的函數(shù)調(diào)用中,屬于不合法調(diào)用的是test(5);test(5,8);test(6,'#');test(0,〇,'*');答案:C11、以下對C++函數(shù)的有關(guān)描述中,正確的是( )?C調(diào)用函數(shù)時,只能把實參的值傳給形參,形參的值不能傳遞給實參C++函數(shù)既可以嵌套定義又可以遞歸調(diào)用C.函數(shù)必須有返回值,否則不能使用函數(shù)D.C++程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一源程序文件中答案:A12、在C++語言中函數(shù)返回值的類型是由( )決定的。A.調(diào)用該函數(shù)時系統(tǒng)臨時B.return語句中的表達式類型C.定義該函數(shù)時所指定的函數(shù)類型D.調(diào)用該函數(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ù)據(jù)傳遞方式是(A.只能按值傳遞B,只能按地址傳遞C,既可以按值傳遞也可以按地址傳遞D,以上說法都不對答案:C16、分析以下程序:#incIude<iostream>voidfun(intnum){cout?num?endI;}voidfun(charch){cout?(ch+1)?endI;}intmainO(funCA*);return0;以上程序的輸出結(jié)果是(6566AB答案:B17>一個函數(shù)為voidf(intx,chary='a'),另一個函數(shù)為voidf(int)?則它們()〇A,不能在同一程序塊中定義B,可以在同一個程序塊中定義并可重載C.可以在同一個程序塊中定義,但不可以重載D.以上說法均不正確答案:A18、函數(shù)定義為Fun(int&i),變量定義n=100,則下面調(diào)用正確的是( )。Fun(20)Fun(20+n)Fun(n)Fun(&n)答案:C19、當(dāng)ー個函數(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ù)默認值定義錯誤的是( )。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、ー個函數(shù)功能不太復(fù)雜,但要求被頻繁調(diào)用,選用( )。A.內(nèi)聯(lián)函數(shù)B.重載函數(shù)C,遞歸函數(shù)D.嵌套函數(shù)答案:A24、下面有關(guān)重載函數(shù)的說法中正確的是( )。A.重載函數(shù)必須具有不同的返回值類型B.重載函數(shù)形參個數(shù)必須不同C.重載函數(shù)必須有不同的形參列表D.重載函數(shù)名可以不同答案:C25、在C++語言中,對函數(shù)參數(shù)默認值描述正確的是( )。A.函數(shù)參數(shù)的默認值只能設(shè)定一個B.ー個函數(shù)的參數(shù)若有多個,則參數(shù)默認值的設(shè)定可以不連續(xù)C.函數(shù)必須設(shè)定默認值D.在設(shè)定參數(shù)的默認值后,該參數(shù)后面定義的所有參數(shù)都必須設(shè)定默認值答案: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、以下對C++函數(shù)的有關(guān)描述中,正確的是( )。C調(diào)用函數(shù)時,只能把實參的值傳給形參,形參的值不能傳遞給實參B.C++函數(shù)既可以嵌套定義又可以遞歸調(diào)用C.函數(shù)必須有返回值,否則不能使用函數(shù)D.C++程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一源程序文件中答案:A28、在C++語言中函數(shù)返回值的類型是由( )決定的。A.調(diào)用該函數(shù)時系統(tǒng)臨時B.return語句中的表達式類型C,定義該函數(shù)時所指定的函數(shù)類型D.調(diào)用該函數(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章類與對象【知識點】1、面向?qū)ο蟪绦蛟O(shè)計的基本概念2、類定義、屬性與行為、訪問權(quán)限控制,對象的定義、使用3、構(gòu)造函數(shù)與析構(gòu)函數(shù)4、函數(shù)重載技術(shù)與運算符重載技術(shù)5、友元【單選題】1、對于下面定義的類MyClass,在函數(shù)f()中將對象成員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知識點:評析:2、類MyClass的定義如下:cIassMyClasspubIic:MyClassO(vaIue=0;)setVariable(inti)(vaIue=i;)private:intvalue;};則以下各項對如下語句序列的描述中,正確的是( )。MyClass*p,my;p=&my;A,語句"p=&my;”是把對象my賦值給指針變量pB.語句"MyClass*p,my;"會調(diào)用兩次類MyClass的構(gòu)造函數(shù)C.對語句”*p.SetVariable(5)”的調(diào)用是正確的D.語句”p->SetVariable(5)n與語句nmy.SetVariable(5)n等價答案:D分值:2難度:1知識點:評析:3、下面類的定義,有( )錯誤。cIassMyClass{inti=0;pubIic:voidMyClass();""MyClass(intValue);};1234答案:C分值:2難度:1知識點:評析:4、定義析構(gòu)函數(shù)時,應(yīng)該注意( )。A.其名與類名完全相同B.返回類型是void類型C.無形參,也不可重載D.函數(shù)體中必須有delete語句。答案:C分值:2難度:1知識點:評析:5、構(gòu)造函數(shù)不具備的特征的是( )?A.構(gòu)造函數(shù)的函數(shù)名與類名相同B.構(gòu)造函數(shù)可以重載C.構(gòu)造函數(shù)可以設(shè)置默認參數(shù)D.構(gòu)造函數(shù)必須指定返回類型答案:D分值:2難度:1知識點:評析:6、類的析構(gòu)函數(shù)是在( )被自動調(diào)用的。A.類創(chuàng)建時B.創(chuàng)建對象時C,刪除對象時D.不自動調(diào)用答案:C分值:2難度:1知識點:評析:フ、對于任何ー個類,析構(gòu)函數(shù)最多有( )個。0124答案:B分值:2難度:2知識點:評析:8、通常,拷貝構(gòu)造函數(shù)的參數(shù)是( )〇A.某個對象名B.某個對象的引用名C.某個對象的成員名D.某個對象的指針名答案:B分值:2難度:1知識點:評析:9、面向?qū)ο蟪绦蛟O(shè)計中的數(shù)據(jù)隱藏指的是( )〇A.輸入數(shù)據(jù)必須輸入保密口令B.數(shù)據(jù)經(jīng)過加密處理C.對象內(nèi)部數(shù)據(jù)結(jié)構(gòu)上建有防火墻D.對象內(nèi)部數(shù)據(jù)結(jié)構(gòu)的不可訪問性答案:D分值:2難度:1知識點:評析:10、下列關(guān)于類的訪問權(quán)限的描述中,錯誤的是(ン。A.說明為公有的成員可以被程序中的任何代碼訪問B.說明為私有的成員只能被類的成員和說明為友元類的成員函數(shù)訪問C.說明為保護的成員,除了能被本身的成員函數(shù)和說明為友元類的成員函數(shù)訪問外,該類的派生類的成員也可以訪問D.類的所有成員都可以被程序中的任何代碼訪問答案:D分值:2難度:1知識點:評析:11、ー個類的友元函數(shù)或友元類可以訪問該類的( )?A.私有成員B.保護成員C.公有成員D.所有成員答案:D分值:2難度:1知識點:評析:12、下列關(guān)于成員函數(shù)特征的描述中,錯誤的是( )〇A.成員函數(shù)一定是內(nèi)聯(lián)函數(shù)B,成員函數(shù)可以重載C,成員函數(shù)可以設(shè)置參數(shù)的默認值D,成員函數(shù)可以是靜態(tài)的答案:A分值:2難度:1知識點:評析:13、下面對類中靜態(tài)數(shù)據(jù)成員的描述中,正確的是( )=A.靜態(tài)數(shù)據(jù)成員是類的所有對象共享的數(shù)據(jù)B.類的每個對象都有自己的靜態(tài)數(shù)據(jù)成員0.類的不同對象有不同的靜態(tài)數(shù)據(jù)成員D.靜態(tài)數(shù)據(jù)成員不能通過類的對象調(diào)用答案:A分值:2難度:1知識點:評析:14、C++中對于類中定義的成員,其默認的訪問權(quán)限為( )。publicprotectedprivatestatic答案:c分值:2難度:1知識點:評析:15、類的析構(gòu)函數(shù)的作用是( )?A.作為類的一般成員函數(shù)B.類的初始化C.對象的初始化D.對象掃尾處理答案:D分值:2難度:1知識點:評析:16、若有一個MyClass類,則執(zhí)行語句"MyClass,a,b(2),*p;"后,自動調(diào)用該類的構(gòu)造函數(shù)( )次。2345答案:A分值:2難度:1知識點:評析:17、C++對C語言作了很多改進,即從面向過程變成為面向?qū)ο蟮闹饕倪M是()A.增加了一些新的運算符B.允許函數(shù)重載,并允許設(shè)置缺省參數(shù)C.規(guī)定函數(shù)說明符必須用原型D.引進了類和對象的概念答案:D分值:2難度:1知識點:評析:18、類MyClass的定義如下:cIassMyClass(pubIic:MycIass(){}MyClass(inti){vaIue=newint(i);)int*value;};若要對value賦值,則下面語句正確的是( ).MyClass my; my.value=10;MyClass my; *my.value=10;MyClass my; my.*value=10;MyClass my(10);答案:D分值:2難度:1知識點:評析:19、下面是對類MyCIass的定義,對定義中語句描述正確的是()?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.語句②是類和語句③實現(xiàn)類成員函數(shù)的重載C.語句④實現(xiàn)對類成員變量X的更新操作D,語句①、②、③和④都不正確答案:D分值:2難度:1知識點:評析:20、類aClass的定義如下:classaCIass{pubIic:aCIass(){}aCIass(inti){value=newint(i);}int*value;}若要對類中的value賦值,則下面的語句中,正確的是( )。aClassmy;my.value=10;aClassmy;*my.value=10;aClassmy;my.*value=10;aClassmy(10);答案:D分值:2難度:1知識點:評析:21、對于下面定義的類MyClass,在函數(shù)f()中將對象成員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知識點:評析:22、類MyClass的定義如下:cIassMyClass(pubIic:MyClassO(vaIue=0;}setVariable(inti)(vaIue=i;}private:intvalue;);則以下各項對如下語句序列的描述中,正確的是( ン。MyClass*p,my;p=&my;A.語句"p=&my;”是把對象my賦值給指針變量pB.語句"MyClass*p.my;”會調(diào)用兩次類MyCIass的構(gòu)造函數(shù)C.對語句”*p.SetVariable(5)”的調(diào)用是正確的D.語句”p->SetVariable(5)與語句"my.SetVariable(5)”等價答案:D分值:2難度:1知識點:評析:23、類的析構(gòu)函數(shù)是在( )被自動調(diào)用的?A.類創(chuàng)建時B.創(chuàng)建對象時C,刪除對象時D.不自動調(diào)用答案:C分值:2難度:1知識點:評析:24、對于任何ー個類,析構(gòu)函數(shù)最多有( )個。0123答案:B分值:2難度:1知識點:評析:25、通常,拷貝構(gòu)造函數(shù)的參數(shù)是( )?A.某個對象名B.某個對象的成員名C.某個對象的引用名D.某個對象的指針名答案:C分值:2難度:3知識點:評析:26、下列關(guān)于類的訪問權(quán)限的描述中,錯誤的是( レA.說明為公有的成員可以被程序中的任何代碼訪問B.說明為私有的成員只能被類的成員和說明為友元類的成員函數(shù)訪問C.說明為保護的成員,除了能被本身的成員函數(shù)和說明為友元類的成員函數(shù)訪問外,該類的派生類的成員也可以訪問D.類的所有成員都可以被程序中的任何代碼訪問答案:D分值:2難度:1知識點:評析:2フ、ー個類的友元函數(shù)或友元類可以訪問該類的( )。A.私有成員B.保護成員C,公有成員D.所有成員答案:D分值:2難度:1知識點:評析:28、下列關(guān)于成員函數(shù)特征的描述中,錯誤的是( ),A.成員函數(shù)一定是內(nèi)聯(lián)函數(shù)B.成員函數(shù)可以重載C,成員函數(shù)可以設(shè)置參數(shù)的默認值D,成員函數(shù)可以是靜態(tài)的答案:A分值:2難度:1知識點:評析:29、下面對類中靜態(tài)數(shù)據(jù)成員的描述中,正確的是( )?A.靜態(tài)數(shù)據(jù)成員是類的所有對象共享的數(shù)據(jù)B.類的每個對象都有自己的靜態(tài)數(shù)據(jù)成員C.類的不同對象有不同的靜態(tài)數(shù)據(jù)成員D.靜態(tài)數(shù)據(jù)成員不能通過類的對象調(diào)用答案:A分值:2難度:1知識點:評析:30、C++中對于類中定義的成員,其默認的訪問權(quán)限為( )〇pubIicprotectedprivatestatic答案:c分值:2難度:1知識點:評析:31、類的析構(gòu)函數(shù)的作用是( )。A.作為類的一般成員函數(shù)B.類的初始化C.對象的初始化D.對象掃尾處理答案:D分值:2難度:2知識點:評析:32、若有一個MyClass類,則執(zhí)行語句"MyClass,a,b(2),*p后,自動調(diào)用該類的構(gòu)造函數(shù)( )次。2345答案:A分值:2難度:1知識點:評析:33、類MyClass的定義如下:cIassMyClass(pubIic:MycIass(){}MyCIass(inti){value=newint(i);)int*value;);若要對value賦值,則下面語句正確的是( )。MyClassmy;my.value=10;MyClassmy;*my.vaIue=10;MyClassmy;my.*value=10;MyClassmy(10);答案:D分值:2難度:1知識點:評析:34、下面是對類MyClass的定義,對定義中語句描述正確的是()〇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.語句②是類和語句③實現(xiàn)類成員函數(shù)的重載C.語句④實現(xiàn)對類成員變量X的更新操作D,語句①、②、③和④都不正確答案:D分值:2難度:1知識點:評析:35、類aClass的定義如下:classaClass{public:aClass(){}aClass(inti){value=newint(i);}int*vaIue;}若要對類中的value賦值,則下面的語句中,正確的是( )。aClassmy;my.value=10;aClassmy;*my.value=10;aClassmy;my.*value=10;aClassmy(10);答案:D分值:2難度:1知識點:評析:36、每個類()構(gòu)造函數(shù)。A.只能有一個B.只可有公有的C,可以有多個D,只可有缺省的答案:C分值:2難度:1知識點:評析:37、已知類A中的一個成員函數(shù)的說明如下:voidSet(A&a);則該函數(shù)的參數(shù)“A&a”的含義是( )。A.指向A的指針為aB,將變量a的地址賦給類AC.類A對象引用a用作函數(shù)的形參D,變量A與a按位與后作函數(shù)參數(shù)答案:C分值:2難度:3知識點:評析:38、下列特性中,C與C++共有的是( )。A?繼承B.封裝C.多態(tài)性D.函數(shù)定義不能嵌套答案:D分值:2難度:2知識點:評析:39、假定AB為一個類,則執(zhí)行ABx;語句時將自動調(diào)用該類的()。A.有參構(gòu)造函數(shù)B.無參構(gòu)造函數(shù)C.拷貝構(gòu)造函數(shù)D,賦值構(gòu)造函數(shù)答案:B分值:2難度:1知識點:評析:40、如果類A被說明成類B的友元,則().A.類A的成員即類B的成員B.類B的成員即類A的成員C.類A的成員函數(shù)不得訪問類B的成員D.類B不一定是類A的友元答案:D分值:2難度:1知識點:評析:41、下列不是類的成員函數(shù)的是( )?A.構(gòu)造函數(shù)B.析構(gòu)函數(shù)C.友元函數(shù)D.拷貝構(gòu)造函數(shù)答案:C分值:2難度:1知識點:評析:42、拷貝(復(fù)制)構(gòu)造函數(shù)的作用是( ),A.進行數(shù)據(jù)類型的轉(zhuǎn)換B.用對象調(diào)用成員函數(shù)C.用對象初始化對象D.用一般類型的數(shù)據(jù)初始化對象答案:C分值:2難度:3知識點:評析:43、若要把函數(shù)voidf()定義為類aClass的友元函數(shù),則應(yīng)該在類aClass的定義中加入的語句是( )。voidf();staticvoidf();friendf();friendvoidf();答案:D分值:2難度:1知識點:評析:44、下列關(guān)于析構(gòu)函數(shù)的描述中,錯誤的是( )。A.類中有且僅有一個析構(gòu)函數(shù)B.析構(gòu)函數(shù)可以有形參C.析構(gòu)函數(shù)沒有函數(shù)類型D.析構(gòu)函數(shù)在對象消失時被自動執(zhí)行答案:B分值:2難度:2知識點:評析:45、下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的是( )〇A.靜態(tài)數(shù)據(jù)成員可以在類體內(nèi)進行初始化B.靜態(tài)數(shù)據(jù)成員不可以被類的對象調(diào)用C.靜態(tài)數(shù)據(jù)成員不能受private控制符的作用D.靜態(tài)數(shù)據(jù)成員可以直接用類名調(diào)用答案:D分值:2難度:1知識點:評析:【閱讀程序題】1、寫出下列程序的運行結(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知識點:評析:2、寫出下列程序的運行結(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知識點:評析:3、寫出下列程序的運行結(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知識點:評析:4、寫出下列程序的運行結(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知識點:評析:5,寫出下列程序的運行結(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知識點:評析:6,寫出下列程序的運行結(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知識點:評析:フ、寫出下列程序的運行結(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知識點:評析:【編程題】選做1、描述ー個復(fù)數(shù)類Complex,私有數(shù)據(jù)為實部Real和虛部Image要求Complex類包含如下成員函數(shù):(1)有構(gòu)造函數(shù),缺省時實部Real和虛部Imag置為〇;voidSetReaI(doublea)能修改ReaI的值;voidSetImag(doubleb)能修改Imag的值;doubleGetReaI()能取ReaI的值:doubleGetlmag()能取Imag的值:(6)重載運算符+,完成兩個復(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章繼承與派生【知識點】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;});則上述中,()是非法的表達式。k=i*jintk;returni;voidmake();答案:A分值:2難度:1知識點:評析:2、關(guān)于公有繼承,下列說法錯誤的是(A.基類的公有成員和保護成員被繼承后作為派生類的公有成員和保護成員。B.派生類的其他成員可以直接訪問基類的公有成員和保護成員。C.派生類的對象可以訪問基類的私有成員。D.派生類成員和對象都無法訪問基類的私有成員。答案:C分值:2難度:1知識點:評析:3,下列說法中錯誤的是( )。A.公有繼承時基類中的public成員在派生類中仍是public的;B.公有繼承時基類中的private成員在派生類中仍是private的;C.私有繼承時基類中的public成員在派生類中是private的:D.保護繼承時基類中的public成員在派生類中是protected的;答案:B分值:2難度:1知識點:評析:4、在公有繼承中,基類中的公有成員作為派生類的()〇A.公有成員B.私有成員C.保護成員D.私有成員函數(shù)答案:A分值:2難度:1知識點:評析:5、基類中的()不允許外界訪問,但允許派生類的成員訪問,這樣既有一定的隱藏能力,又提供了開放的接口。A.公有成員B.私有成員C.保護成員D.私有成員函數(shù)答案:C分值:2難度:1知識點:評析:6、在下面的表達式中,不表示虛繼承的是( )。virtuaIpubIicpubIicvirtuaIpubIicvirtual答案:c分值:2難度:1知識點:評析:7、設(shè)置虛函數(shù)的聲明中,正確的是( )?A.簡化程序B.消除二義性C.提高運行效率D.減少目標(biāo)代碼答案:B分值:2難度:1知識點:評析:8、下面敘述錯誤的是( )?A.基類的protected成員在派生類中仍然是protectedB.基類的protected成員在public派生類中仍然是protected的C.基類的protected成員在private派生類中是private的D.基類的protected成員不能被派生類的對象訪問答案:A分值:2難度:1知識點:評析:9、派生類的對象對它的基類成員中()是可以訪問的。A.公有繼承的公有成員B.公有繼承的私有成員C.公有繼承的保護成員D.私有繼承的公有成員答案:A分值:2難度:1知識點:評析:10、下列對派生類的描述中,錯誤的是( )。A.一個派生類可以作為另ー個派生類的基類B.派生類至少有一個基類C.派生類的缺省繼承方式是privateD.派生類只含有基類的公有成員和保護成員答案:D分值:2難度:1知識點:評析:11.、繼承具有(),即當(dāng)基類本身也是某ー個類派生類時,底層的派生類也會自動繼承間接基類的成員。A.規(guī)律性B.傳遞性C.重復(fù)性D.多樣性答案:B分值:2難度:1知識點:評析:12、設(shè)有基類定義:cIassCbase(private:inta;protected:intb;pubIic:intc;);派生類采用何種繼承方式可以使成員變量b成為自己的私有成員()。A,私有繼承B.保護繼承C.公有繼承D.私有、保護、公有均可答案:A分值:2難度:1知識點:評析:13、多繼承派生類構(gòu)造函數(shù)構(gòu)造對象時,()被最先調(diào)用。A.派生類自己的構(gòu)造函數(shù)B.虛基類的構(gòu)造函數(shù)C.非虛基類的構(gòu)造函數(shù)D.派生類中子對象類的構(gòu)造函數(shù)答案:B分值:2難度:1知識點:評析:14、派生類的對象對它的哪ー類基類成員是可以訪問的?()。A.保護繼承的基類的公有成員B.公有繼承的基類的保護成員C.公有繼承的基類的私有成員D.公有繼承的基類的公有成員答案:D分值:2難度:1知識點:評析:15、關(guān)于保護繼承,下列說法錯誤的是( )?A.保護繼承的特點是基類的所有公用成員和保護成員都成為派生類的保護成員。B.派生類對象不能訪問基類中的任何成員。C.派生類的對象可以訪問基類的公有成員。D.保護繼承的派生類和私有繼承的派生類,對基類成員訪問屬性是相同的。答案:C分值:2難度:1知識點:評析:16、關(guān)于私有繼承,下列說法錯誤的是( )?A.基類的公有成員和保護成員被繼承后作為派生類的私有成員,派生類的其他成員可以直接訪問他們。B.基類的公有成員和保護成員被繼承后作為派生類的私有成員,派生類的其他成員不能直接訪問他們。C.基類的私有成員,派生類的成員和派生類的對象都無法訪問。D.派生類的對象無法訪問基類的所有成員。答案:B分值:2難度:1知識點:評析:17、在公有繼承中,基類中的保護成員作為派生類的( )。A.公有成員B.私有成員C.保護成員D.私有成員函數(shù)答案:C分值:2難度:1知識點:評析:18、基類( )在派生類中的性質(zhì)和繼承的性質(zhì)一樣。A.公有成員B.私有成員C.保護成員D.私有成員函數(shù)答案:A分值:2難度:1知識點:評析:19.派生類的對象對它的基類成員中的()是可以訪問的。A.公有繼承的公有成員B.公有繼承的私有成員C,公有繼承的保護成員D,私有繼承的私有成員答案:A分值:2難度:1知識點:評析:20、下列虛基類的聲明中,正確的是( )。classvirtualB:pubIicAvirtualclassB:pubIicAclassB:pubIicAvirtuaIcIassB:virtualpubIicA答案:D分值:2難度:1知識點:評析:21、下列說法中錯誤的是()〇A.公有繼承時基類中的public成員在派生類中仍是public的;B.公有繼承時基類中的private成員在派生類中仍是private的;C,私有繼承時基類中的public成員在派生類中是private的;D.保護繼承時基類中的public成員在派生類中是protected的;答案:B分值:2難度:1知識點:評析:22、在公有繼承中,基類中的公有成員作為派生類的( )?A.公有成員B.私有成員C.保護成員D.私有成員函數(shù)答案:A分值:2難度:1知識點:評析:23、基類中的( )不允許外界訪問,但允許派生類的成員訪問,這樣既有一定的隱藏能力,又提供了開放的接口。A.公有成員B.私有成員C.保護成員D.私有成員函數(shù)答案:C分值:2難度:1知識點:評析:24、在下面的表達式中,不表示虛繼承的是( )。virtualpubIicpubIicvirtualpubIicvirtuaI答案:C分值:2難度:1知識點:評析:25、設(shè)置虛函數(shù)的聲明中,正確的是()。A.簡化程序B.消除二義性C.提高運行效率D.減少目標(biāo)代碼答案:B分值:2難度:1知識點:評析:26、下面敘述錯誤的是( ).A.基類的protected成員在派生類中仍然是protectedB.基類的protected成員在public派生類中仍然是protected的C.基類的protected成員在private派生類中是private的D.基類的protected成員不能被派生類的對象訪問答案:A分值:2難度:1知識點:評析:27、派生類的對象對它的基類成員中()是可以訪問的。A.公有繼承的公有成員B.公有繼承的私有成員C.公有繼承的保護成員D.私有繼承的公有成員答案:A分值:2難度:1知識點:評析:28、下列對派生類的描述中,錯誤的是( )?A.ー個派生類可以作為另ー個派生類的基類B.派生類至少有一個基類C.派生類的缺省繼承方式是privateD.派生類只含有基類的公有成員和保護成員答案:D分值:2難度:1知識點:評析:29、繼承具有( ),即當(dāng)基類本身也是某ー個類派生類時,底層的派生類也會自動繼承間接基類的成員。A.規(guī)律性B.傳遞性C.重復(fù)性D.多樣性答案:B分值:2難度:1知識點:評析:30、設(shè)有基類定義:cIassCbase{private:inta;protected:intb;pubIic:intc;);派生類采用何種繼承方式可以使成員變量b成為自己的私有成員()。A,私有繼承B.保護繼承C,公有繼承D,私有、保護、公有均可答案:A分值:2難度:1知識點:評析:【閱讀程序題】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對象時,只有在D的構(gòu)造函數(shù)的初始化列表中列出的虛基類構(gòu)造函數(shù)被調(diào)用,D的兩個基類B、C的構(gòu)造函數(shù)中的虛基類構(gòu)造函數(shù)被忽略,不執(zhí)行,從而保證在D對象中只有一個虛基類子對象。運行結(jié)果:cIassAcIassBcIassCcIassD分值:5難度:3知識點:評析: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)用派生類中子對象類的構(gòu)造函數(shù),最后調(diào)用派生類的構(gòu)造函數(shù)。析構(gòu)函數(shù)的執(zhí)行次序與構(gòu)造函數(shù)正好相反,先調(diào)用派生類的析構(gòu)函數(shù),再調(diào)用派生類中子對象類的析構(gòu)函數(shù),最后調(diào)用基類的析構(gòu)函數(shù)。運行結(jié)果:ConstuctingbaseclassConstuctingbaseclassConstructingderivedclass13,8,24DestructingderivedcIassDestructingbaseclassDestructingbaseclass分值:5難度:4知識點:評析: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對象時,只有在D的構(gòu)造函數(shù)的初始化列表中列出的虛基類構(gòu)造函數(shù)被調(diào)用,D的兩個基類B、C的構(gòu)造函數(shù)中的虛基類構(gòu)造函數(shù)被忽略,不執(zhí)行,從而保證在D對象中只有一個虛基類子對象。運行結(jié)果:cIassAcIassBcIassCcIassD分值:5難度:4知識點:評析: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)用派生類中子對象類的構(gòu)造函數(shù),最后調(diào)用派生類的構(gòu)造函數(shù)。析構(gòu)函數(shù)的執(zhí)行次序與構(gòu)造函數(shù)正好相反,先調(diào)用派生類的析構(gòu)函數(shù),再調(diào)用派生類中子對象類的析構(gòu)函數(shù),最后調(diào)用基類的析構(gòu)函數(shù)’,運行結(jié)果:ConstuctingbaseclassConstuctingbaseclassConstructingderivedclass13,8,24DestructingderivedcIassDestructingbaseclassDestructingbaseclass分值:5難度:3知識點:評析:5、寫出下列程序運行結(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知識點:評析:6、寫出程序運行結(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知識點:評析:7、閱讀下列程序,寫出程序運行結(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知識點:評析:8、閱讀下列程序,寫出程序運行結(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知識點:評析:9、閱讀下列程序,寫出程序運行結(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知識點:評析:10、閱讀下列程序,寫出程序運行結(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知識點:評析:閱讀下列程序,寫出程序運行結(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知識點:評析:12、寫出下列程序運行結(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知識點:評析:13、寫出程序運行結(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知識點:評析:14、閱讀下列程序,寫出程序運行結(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知識點:評析:15、閱讀下列程序,寫出程序運行結(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等.壓縮文件請下載最新的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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論