國家二級(C++)筆試模擬試卷152(題后含答案及解析)_第1頁
國家二級(C++)筆試模擬試卷152(題后含答案及解析)_第2頁
國家二級(C++)筆試模擬試卷152(題后含答案及解析)_第3頁
國家二級(C++)筆試模擬試卷152(題后含答案及解析)_第4頁
國家二級(C++)筆試模擬試卷152(題后含答案及解析)_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

國家二級(C++)筆試模擬試卷152(題后含答案及解析)題型有:1.選擇題2.填空題選擇題(每小題2分,共70分)下列各題A、B、C、D四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應位置上。1.數(shù)據(jù)結構作為計算機的一門學科,主要研究數(shù)據(jù)的邏輯結構、對各種數(shù)據(jù)結構進行的運算,以及A.數(shù)據(jù)的存儲結構B.計算方法C.數(shù)據(jù)映象D.邏輯存儲正確答案:A解析:數(shù)據(jù)結構是研究數(shù)據(jù)元素及其之間的相互關系和數(shù)據(jù)運算的一門學科,它包含3個方面的內(nèi)容,即數(shù)據(jù)的邏輯結構、存儲結構和數(shù)據(jù)的運算。2.串的長度是A.串中不同字符的個數(shù)B.串中不同字母的個數(shù)C.串中所含字符的個數(shù)且字符個數(shù)大于零D.串中所含字符的個數(shù)正確答案:D解析:串的長度指的是串中的字符的個數(shù),且其字符個數(shù)可以為零。3.在計算機中,算法是指A.加工方法B.解題方案的準確而完整的描述C.排序方法D.查詢方法正確答案:B解析:計算機算法是指解題方案的準確而完整的描述,它有以下幾個基本特征:可行性、確定性、有窮性和擁有足夠的情報。4.以下不屬于對象的基本特點的是A.分類性B.多態(tài)性C.繼承性D.封裝性正確答案:C解析:對象有如下一些基本特點,即標識唯一性、分類性、多態(tài)性、封裝性和模塊獨立性。5.開發(fā)軟件所需高成本和產(chǎn)品的低質(zhì)量之間有著尖銳的矛盾,這種現(xiàn)象稱做A.軟件投機B.軟件危機C.軟件工程D.軟件產(chǎn)生正確答案:B解析:軟件工程概念的出現(xiàn)源自軟件危機。所謂軟件危機是泛指在計算機軟件的開發(fā)和維護過程中所遇到的一系列嚴重問題。總之,可以將軟件危機歸結為成本、質(zhì)量、生產(chǎn)率等問題。6.下面不屬于軟件設計原則的是A.抽象B.模塊化C.自底向上D.信息隱蔽正確答案:C解析:軟件設計遵循軟件工程的基本目標和原則,建立了適用于在軟件設計中應該遵循的基本原理和與軟件設計有關的概念,它們是抽象、模塊化、信息隱蔽和數(shù)據(jù)獨立性。自底向上是集成測試中增量測試的一種。7.開發(fā)大型軟件時,產(chǎn)生困難的根本原因是A.大系統(tǒng)的復雜性B.人員知識不足C.客觀世界千變?nèi)f化D.時間緊、任務重正確答案:A解析:軟件的顯著特點是規(guī)模龐大,復雜度超線性增長,在開發(fā)大型軟件時,要保證高質(zhì)量,極端復雜困難,不僅涉及技術問題,更重要的是必須要有嚴格而科學的管理。8.下列SQL語句中,用于修改表結構的是A.ALTERB.CREATEC.UPDATED.INSERT正確答案:A解析:SQL語句中凡創(chuàng)建都用CREATE,刪除都用DROP,改變用ALTER,再跟類型和名字,附加子句。9.數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)之間的關系是A.數(shù)據(jù)庫包括數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)B.數(shù)據(jù)庫系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)C.數(shù)據(jù)庫管理系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫系統(tǒng)D.三者沒有明顯的包含關系正確答案:B解析:數(shù)據(jù)庫系統(tǒng)(DataBaseSystem,簡稱DBS)包括數(shù)據(jù)庫(DataBase,簡稱DB)、數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,簡稱DBMS)、數(shù)據(jù)庫管理員、硬件和軟件。10.關系模型允許定義3類數(shù)據(jù)約束,下列不屬于數(shù)據(jù)約束的是A.實體完整性約束B.參照完整性約束C.域完整性約束D.用戶自定義的完整性約束正確答案:C解析:關系模型允許定義3類數(shù)據(jù)約束,它們是實體完整性約束、參照完整性約束及用戶自定義的完整性約束。其中前兩種完整性約束由關系數(shù)據(jù)庫系統(tǒng)支持,對于用戶自定義的完整性約束,則由關系數(shù)據(jù)庫系統(tǒng)提供完整性約束語言,用戶利用該語言給出約束條件,運行時由系統(tǒng)自動檢查。11.下列關于C++語言類的描述中錯誤的是A.類用于描述事物的屬性和對事物的操作B.類與類之間通過封裝而具有明確的獨立性C.類與類之間必須是平等的關系,不能組成層次結構D.類與類之間可以通過一些方法進行通信和聯(lián)絡正確答案:C解析:C++語言中的類是可以組成層次結構的,類是用于描述事物的屬性和對事物的操作,類與類之間有相對的獨立性,但其可以通過一些方法進行信息的通信。12.在C++語言中,表示一條語句結束的標號是A.#B.;C.//D.}正確答案:B解析:C++語言中語句的結束符是分號。13.以下敘述中正確的是A.構成C++語言程序的基本單位是類B.可以在一個函數(shù)中定義另一個函數(shù)C.main()函數(shù)必須放在其他函數(shù)之前D.所有被調(diào)用的函數(shù)一定要在調(diào)用之前進行定義正確答案:A解析:關于C++語言,我們應該了解以下必須要掌握的基礎知識:①c++程序是由類構成的。②一個函數(shù)由兩部分組成:函數(shù)的首部和函數(shù)體。③一個類由兩部分組成:類成員變量和類成員函數(shù)。④一個C++程序總是從main函數(shù)開始執(zhí)行的,而不論main函數(shù)在整個程序中的位置如何(main函數(shù)可以放在程序最前頭,也可以放在程序最后,或?qū)懺谝恍┖瘮?shù)之前,在另一些函數(shù)之后)。⑤C++程序在書寫上,表現(xiàn)形式比較自由,一行內(nèi)可以寫幾個語句,一個語句可以分寫在幾行上。每個語句和數(shù)據(jù)定義的最后必須有一個分號。⑥可以用/*……*/和//對C++語言的程序的任何部分作注釋。14.已知有定義:constintD=5;inti=1;doublef=0.32;charc=15;則下列選項錯誤的是A.++i;B.D--;C.c++;D.--f;正確答案:B解析:“++”,“--”運算符不能用于常量。15.以下程序的輸出結果是#include<iostream.h>voidreverse(inta[],intn){inti,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}voidmain(){intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;reverse(b,8);for(i=6;i<10;i++)s+=b[i];cout<<S;}A.22B.10C.34D.30正確答案:A解析:在main函數(shù)中,調(diào)用reverse函數(shù)將b數(shù)組中的前8個成員進行互置,執(zhí)行完畢后,b數(shù)組中的成員為{8,7,6,5,4,3,2,1,9,10},在執(zhí)行for循環(huán)結構后,將b[6],b[7]……b[9]的值相加,結果為1+2+9+10=22。注意:在計算累加和時,應將累加變量賦值為零。16.下面程序的功能是把316表示為兩個加數(shù)的和,使兩個加數(shù)分別能被13和11整除,在下畫線處應填入的選項是#include<iostream.h>Voidmain(){inti=0,j,k;do{i++;k=316-13*i;}while(____);j=k/11;cout<<“316=13*“<<i<<“+11*”<<j;}A.k/11B.k%11C.k/11=0D.k%11=0正確答案:B解析:do…while語句的一般形式是do{語句}while(表達式);特點是:“直到型”循環(huán)結構。先執(zhí)行一次“語句”,判“表達式”,當“表達式”為非0,再執(zhí)行“語句”,直到“表達式”的值為0時停止執(zhí)行語句。在一般情況下,用while和do…while語句解決同一問題時,若二者的循環(huán)體部分是一樣的,它們的結果也一樣。但當while后面的“表達式”一開始就為“假”時,兩種循環(huán)的結果不同。這是因為此時while循環(huán)的循環(huán)不被執(zhí)行,而do…while循環(huán)的循環(huán)體被執(zhí)行一次。本題的關鍵是兩個加數(shù)分別能被13和11整除,在i=0時,直接將316賦值給k,當k%11的值為0時,則不必執(zhí)行循環(huán),將執(zhí)行j=k/11語句,輸出結果,所以該表達式合理的條件是k%11。17.設有數(shù)組定義:chararray[]=”China”;,則數(shù)組array所占的空間為A.4個字節(jié)B.5個字節(jié)C.6個字節(jié)D.7個字節(jié)正確答案:C解析:在給數(shù)組賦值時,可以用一個字符串作為初值,這種方法直觀、方便,而且符合人們的習慣。數(shù)組array的長度不是5,而是6,這點必須要注意。因為字符串常量的最后由系統(tǒng)加上一個’\0’,因此,上面的初始化與下面的等價:Chararray[]={‘C’,’h’,’i’,’n’,’a’,’\0’};18.若已定義:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,則對a數(shù)組元素不正確的引用是A.a(chǎn)[p-a]B.*(&a[1])C.p[1]D.a(chǎn)[10]正確答案:D解析:通常,引用一個數(shù)組元素可以用下標法,如a[p-a]形式,或指針法,如*(&a[i])的形式。本題中a[9]=9,a[10]顯然超出了數(shù)組范圍,注意,數(shù)組的下標是從0開始的。19.以下程序的輸出結果是#include<iostream.h>voidmain(){intx=1,y=3;cout<<x++<<“,”;{intx=0;x+=y(tǒng)*2;cout<<x<<”,”<<y<<”,”;}cout<<x<<“,”<<y;}A.1,6,3,1,3B.1,6,3,6,3C.1,6,3,2,3D.1,7,3,2,3正確答案:C解析:在cout<<x++;語句中,程序先輸出x的值,然后再加1,所以結果為1,此時x的值為2;在intx=0;x+=y(tǒng)*2;語句中,將0的值賦給x,然后運算x+=y(tǒng)*2的值,結果為x=6(此時x的值為局部變量),y的值不變,最后執(zhí)行了x語句后的值,所以應為2。20.函數(shù)fun的返回值是fun(char*a,char*b){intnum=0,n=0;while(*(a+num)!=’\0’)num++;while(b[n]){*(a+num)=b[n];num++;n++;}returnnum;}A.字符串a(chǎn)的長度B.字符串b的長度C.字符串a(chǎn)和b的長度之差D.字符串a(chǎn)和b的長度之和正確答案:D解析:本題首先通過第一個while循環(huán)計算字符串a(chǎn)的長度,再通過第二個循環(huán),將字符串a(chǎn)和b相連,最后返回連接后的總長度。21.下面程序輸出的結果是#include<iostream.h>voidmain(){inti;inta[3][3]={1,2,3,4,5,6,7,8,91;for(i=0;i<3;i++)cout<<a[2-i][i]<<““;}A.159B.753C.357D.591正確答案:B解析:首先,當i=0時,數(shù)組中的位置是a[2][0]=7,當然,如果用排除法的話,就不用考慮后面的循環(huán)了,因為在4個選項中,第1個數(shù)為7的選項只有B)。本題執(zhí)行第2次循環(huán)時,i的值為1,則cout函數(shù)中的數(shù)組指向為a[1][1]=5,依次循環(huán),可求出答案。22.下面程序的結果為#include<iostream.h>intc;classA{private:inta;staticintb;public:A(){a=0;c=0;}voidseta(){a++;}voidsetb(){b++;}voidsetc(){c++;}voiddisplay(){cout<<a<<““<<b<<““<<c;}};intA::b=0;voidmain(){Aa1,a2;a1.seta();a1.setb();al.setc();a2.seta();a2.setb();a2.setc();a2.display();}A.121B.122C.112D.222正確答案:B解析:C++語言中全局變量是任何函數(shù)都可以改變的量,靜態(tài)變量的有效范圍在定義它的類中,而普通的變量的有效性只在使用它的函數(shù)中,在本題中c為全局變量,b為靜態(tài)變量,a為普通變量,b和c在類A的對象a1和s2中都自加1。所以b、c為2,a為1。23.下列描述中哪個是正確的?A.私有派生的子類無法訪問父類的成員B.類A的私有派生子類的派生類C無法初始化其祖先類A對象的屬性,因為類A的成員對類C是不可訪問的C.私有派生類不能作為基類派生子類D.私有派生類的所有子孫類將無法繼續(xù)繼承該類的成員正確答案:B解析:C++語言中一個派生類能不能繼承基類的所有數(shù)據(jù)成員受繼承方式的限制。24.下列關于構造函數(shù)說法不正確的是A.構造函數(shù)必須與類同名B.構造函數(shù)可以省略不寫C.構造函數(shù)必須有返回值D.在構造函數(shù)中可以對類中的成員進行初始化正確答案:C解析:構造函數(shù)是一類特殊的函數(shù),其特點是函數(shù)名與類同名,沒有返回值,也可以省略不寫,還可以對類中的成員進行初始化。25.如果友元函數(shù)重載一個運算符時,其參數(shù)表中沒有任何參數(shù)則說明該運算符是A.一元運算符B.二元運算符C.選項A)和選項B)都可能D.重載錯誤正確答案:D解析:C++中用友元函數(shù)重載運算符至少有一個參數(shù),重載一目運算符要有一個參數(shù),重載二目運算符要有兩個參數(shù)。26.在重載一個運算符時,如果其參數(shù)表中有一個參數(shù),則說明該運算符是A.一元成員運算符B.二元成員運算符C.一元友元運算符D.選項B)和選項C)都可能正確答案:D解析:C++語言中用成員函數(shù)重載時,重載一目運算符沒有參數(shù),重載二日運算符要有一個參數(shù)。27.下列關于模板的說法正確的是A.模板的實參在任何時候都可以省略B.類模板與模板類所指的是同一概念C.類模板的參數(shù)必須是虛擬類型的D.類模板中的成員函數(shù)全部都是模板函數(shù)正確答案:D解析:在C++中規(guī)定,如果一個類被聲明為類模板,那么其中的所有成員函數(shù)就都成為了模板函數(shù)。28.表示在輸出時顯示小數(shù)位,以及在文件輸入時判斷文件尾的函數(shù)分別是A.showbase()和eof()B.showpoint()和eof()C.showpoint()和bad()D.showpoint()和good()正確答案:B解析:表示在輸出時顯示小數(shù)位,以及在文件輸入時判斷文件尾的函數(shù)分別是showpoint()和eof()。29.下面程序段的運行結果是voidmain(){intt,a,b,C;a=1;b=2;C=2;while(a<b<c){t=a;a=b;b=t;c--;}cout<<a<<“,”<<b<<“,”<<C;}A.1,2,0B.2,1,0C.1,2,1D.2,1,1正確答案:A解析:本題中(a<b<c)的運算次序是先算a<b,返回1,再運算1<c,返回1,所以表達式a<b<c的值為1。30.下列程序中下畫線處應填入的語句是classBase{public:voidfun(){cout<<“Baseoffun”<<endl;}};classDerived:publicBase{voidfun(){______//顯示基類的成員函數(shù)funcout<<“Derivedoffun”<<endl;}};A.fun();B.Base.fun();C.Base::fun();D.Base->fun();正確答案:C解析:如果在子類中要訪問父類的函數(shù)應用“::”運算符。31.若定義intk=7,x=12;,則能使值為3的表達式是A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)正確答案:D解析:運算符“%”的兩側都應該是整型數(shù)。另外,本題需要掌握的知識點是x%=k等價于x=x%k。32.在位運算中,操作數(shù)每右移一位,其結果相當于A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)乘以4D.操作數(shù)除以4正確答案:B解析:右移運算符“>>”是雙目運算符。其功能是把“>>”左邊的運算數(shù)的各二進位全部右移若干位,“>>”右邊的數(shù)指定移動的位數(shù)。例如:設a=15,a>>2表示把000001111右移為00000011(十進制3)。33.有以下結構體說明和變量的定義,且指針p指向變量a,指針q指向變量b。則不能把節(jié)點b連接到節(jié)點a之后的語句是structnode{chardata;stmctnode*next;}a,b,*p=&a,*q=&b;A.a(chǎn).next=q;B.p.next=&b;C.p->next=&b;D.(*p).next=q;正確答案:B解析:要把節(jié)點b連接到節(jié)點a之后,必須把b的地址給a的next指針,選項A)中,指針變量q保存的就是變量b的地址,選項B)中的p是指針變量,應該是p->next=&b;在選項D)中,用*運算符取出結構體變量,并且保存的就是b的地址,所以正確。34.一個類的友元函數(shù)能夠訪問該類的A.私有成員B.保護成員C.公有成員D.所有成員正確答案:D解析:一個類的友元函數(shù)對類成員的訪問能力等同于類的成員函數(shù),即能訪問類的所有成員。35.下面程序的輸出結果是#include<iostream.h>#include<string.h>voidmain(){charp1[10],p2[10];strcpy(p1,”abc”);strcpy(p2,”ABC”);charstr[50]=”xyz”;strcpy(str+2,strcat(p1,p2));cout<<str;}A.xyzabcABCB.zabcABCC.xyabcABCD.yzabcABC正確答案:C解析:該函數(shù)的調(diào)用方式是strcpy(字符數(shù)組,字符串),其中“字符串”可以是串常量,也可以是字符數(shù)組。函數(shù)的功能是將“字符串”完整地復制到“字符數(shù)組”中,字符數(shù)組中原有內(nèi)容被覆蓋。使用該函數(shù)時注意:①字符數(shù)組必須定義得足夠大,以便容納復制過來的字符串。復制時,連同結束標志’\0’一起復制。②不能用賦值運算符“=”將一個字符串直接賦值給一個字符數(shù)組,只能用strcpy()函數(shù)來處理。strcat(字符數(shù)組,字符串)的功能是把“字符串”連接到“字符數(shù)組”中的字符串尾端,并存儲于“字符數(shù)組”中?!白址麛?shù)組”中原來的結束標志被“字符串”的第一個字符覆蓋,而“字符串”在操作中未被修改。使用該函數(shù)時注意:①由于沒有邊界檢查,編程者要注意保證“字符數(shù)組”定義得足夠大,以便容納連接后的目標字符串;否則,會因長度不夠而產(chǎn)生問題。②連接前兩個字符串都有結束標志’\0’,連接后“字符數(shù)組”中存儲的字符串的結束標志’\0’被舍棄,只在目標串的最后保留一個’\0’。填空題(每空2分,共30分)請將每一個空的正確答案寫在答題卡上。注意:以命令關鍵字填空的必須拼寫完整。36.算法的基本特征是可行性、確定性、______和擁有足夠的情報。正確答案:有窮性解析:算法是指解題方案的準確而完整的描述。它有4個基本特征,分別是可行性、確定性、有窮性和擁有足夠的情報。37.在長度為n的有序線性表中進行二分查找。最壞的情況下,需要的比較次數(shù)為______。正確答案:log2n解析:對于長度為n的有序線性表,在最壞情況下,二分查找只需要比較log2n次,而順序查找需要比較n次。38.在面向?qū)ο蟮某绦蛟O計中,類描述的是具有相似性質(zhì)的一組______。正確答案:對象解析:將屬性、操作相似的對象歸為類,也就是說,類是具有共同屬性、共同方法的對象的集合。39.通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為______。正確答案:軟件生命周期解析:軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時期都屬于軟件生命周期。一般包括可行性研究與需求分析、設計、實現(xiàn)、測試、交付使用及維護等活動。40.數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和______3種。正確答案:關系模型解析:數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之間的一個標準接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關系模型。41.執(zhí)行語句序列charstr1[10]=“ABCD”,str2[10]=“XYZxyz”;for(inti=0;strl[i]=str2[i];i++);后,數(shù)組strl中的字符串是______。正確答案:XYZxyz解析:注意for的循環(huán)體為空語句,其第二個表達式為一個賦值語句而不是一個邏輯表達式語句。因此,for循環(huán)的作用實際上是將str2的字符逐個賦值給str1中的對應位置。42.下列程序的執(zhí)行結果是______。#include<lostream.h>inta;intsum_a(void){a=a+5;returna;}voidmain(void){a=a+sum_a();cout<<a<<endl;}正確答案:10解析:本題考查全局變量的使用。全局變量被系統(tǒng)默認初始化為0,故在執(zhí)行a=a+sum-a();語句時,首先執(zhí)行sum_a函數(shù),將a的值改變?yōu)?,該函數(shù)的返回值也是5,故最后a的值被賦值為10。43.根據(jù)輸出結果填空完成下面程序。#include<iostream.h>classTest{private:staticintval;inta;public:staticintfunc();voidsfunc(Test&r);};______//初始化靜態(tài)變量valintTest::func(){returnval++;}voidTest::sfunc(Test&r){r.a=125;cout<<”Result3=“<<r.a;}voidmain(){cout<<”Resultl=“<<Test::func()<<endl;TestA;cout<<”Result2=“<<A.fune()<<endl;A.sfunc(A);}輸出結果為:Result1=201Result2=202Result3=125正確答案:intTest::val=200;解析:類的靜態(tài)成員變量必須要進行初始化才能使用,初始化時需要用域限定符::指明該變量所屬的類名。44.下列程序的運行結果是______。#include<iostream.h>classtest{private:inthum;public:test();intTEST(){returnnum+100;)~test();};test::test(){num=0;)test::~test(){cout<<”Destructorisactive”<<endl;)voidmain(){testx[3];cout<<x[1].TEST()<<endl;}正確答案:100DestructorisactiveDestructorisactiveDestructorisactive解析:本題比較簡單,考查考生基本的類的定義,構造函數(shù)以及對象數(shù)組的概念。45.請將下列類定義補充完整。classBase{public:voidfun(){cout<<”Base::fun”<<endl;}};classDerived:publicBase{public:voidfun(){______//顯式調(diào)用基類的fun函數(shù)cout<<”Derived::fun”<<endl;}};正確答案:Base::fun();解析:本題考核虛基類。作用域分辨符號是”::”,它可以用來限定要訪問的成員所在的類的名稱。一般來說,在派生類中對基類成員的訪問應該是唯一的。但是,多繼承情況下可能造成對基類中某個成員的訪問出現(xiàn)不唯一的情況,通過使用對象作用域分辨符可以解決這種對基類成員訪問的二義性問題。46.有以下程序:#include<iostream.h>classA{intx;public:A(inta){x=a;}friendclassB;};ClassB{public:voidprint(Aa){a.x--;cout<<a.x<<endl;}};voidmain(){Aa(10);Bb;b.print(a);}程序執(zhí)行后的輸出結果是______正確答案:9解析:本題考核友元類的應用。在程序中,類B是類A的友元類,因此,在類B的所有成員函數(shù)中均可訪問類A的任何成員。在main()中,先定義類A的一個對象a(10)和類B的一個對象b。然后通過對象b調(diào)用其成員函數(shù)print輸出對象a的私有成員x的值減1即9。47.下列程序編譯時發(fā)現(xiàn)pb->f(10);語句出現(xiàn)錯誤,其原因是______。#include<iostream.h>classBase{public:voidf(intx){cout<<”Base:”<<x<<endl;)};classDerived:publicBase{public:voidf(char*str){cout<<”Derived:”<<str<<endl;}};voidmain(void){Derived*pd=newDerived;Pd->f(10);}正確答案:數(shù)據(jù)類型不匹配解析:pd為派生類Derived的指針,指向派生類的成員函數(shù)f(char*Str),不指向基類的f(intx)。48.下列程序的運行結果是______。#include<iostream.h>classSomeClass{public:SomeClass(intvalue){somevalue=value;);voidshow_data(voiD){cout<<data<<’’<<some_value<<endl;};staticvoidset_data(intvalue){data=value;};private:staticintdata;intsome_value;};intSomeClass::data=0;voidmain(void){SomeClassmy_class(1001),your_class(2002);your_class.set_data(4004);my_class.show_data();}正確答案:40041001解析:本題考查靜態(tài)成員變量在不同對象間的共享現(xiàn)象。無論哪個對象修改了其靜態(tài)變量的值,其他對象再訪問該變量時已經(jīng)發(fā)生了變化。49.有以下程序:#included<iostream>usingnamespacestd;classBase{public:Base(){x=0;}intx;};classDerived1:virtualpublicBase{public:

溫馨提示

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

評論

0/150

提交評論