C++面向對象程序設計題庫(含答案)_第1頁
C++面向對象程序設計題庫(含答案)_第2頁
C++面向對象程序設計題庫(含答案)_第3頁
C++面向對象程序設計題庫(含答案)_第4頁
C++面向對象程序設計題庫(含答案)_第5頁
已閱讀5頁,還剩103頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

【精品】C++面向對象程序設計題庫(含答案)C++面向對象程序設計試題集一、填空題(每空2分,共20分)設a、b、c都是int型變量,則a=(b=4)+(c=2)后,a值為—_,b值為。在派生類的成員中有公有成員、、、四類成員。3.類Sample的構造函數(shù)將形參data賦值給數(shù)據(jù)成員data。請將類定義補充完整。classSample{public:Sample(intdata=0);Private:intdata;};Sample::Sample(intdata){4.面向對象程序設計的機制提供了重復利用程序資源的一種途徑。5.繼承發(fā)生在利用現(xiàn)有類派生新類時,其中現(xiàn)有類稱為,或父類;派生的新類稱為,或。6.若表達式(x+(y-z)*(m/n))+3中的變量均為double型,則表達式值的類型為。7.已知數(shù)組a中的元素個數(shù)為n,下列語句的作用是將下標為i的元素移動到下標為i,l的單元,其中l(wèi)?i,n。例如,當n=4,a中原有數(shù)據(jù)為1,2,3,4時,則移動后a中元素為2,3,4,4。請將語句補充完整:for(inti=0;i<n-1;i++)a[i]=。類是對具有共同屬性和行為的一類事物的抽象描述,共同屬性被描述為類中的,共同行為被描述為類中的。類Sample的構造函數(shù)將形參data賦值給數(shù)據(jù)成員data。請將類定義補充完整。classSample{public:Sample(intdata=0);Private:intdata;};Sample::Sample(intdata){}實現(xiàn)運行時多態(tài),要使用函數(shù)。設A為test類的對象且賦有初值,則語句testB(A);表示。12.在MyClass類的定義中,對賦值運算符=進行重載。請將畫線處缺失的部分補充完整。MyClass::operator=(constMyClassrhs){if(this=&rhs)return*this;value=rhs.value;return*this;}C++語言中的每條基本語句以 作為結束符,每條復合語句以 作為結束符。若p指針指向字符串“ABCDEFGHIJKL”,則語句cout<<*(p+5);的輸出結果是 。當一個函數(shù)或一個類希望能夠直接訪問另一個類中的非公用成員時,應該將該函數(shù)聲名為另一個類的 或 。設px是指向一個類動態(tài)對象的指針變量,則執(zhí)行“deletepx”語句時,將自動調用該類的 函數(shù)。C++中沒有字符串類型,字符串是通過 來表示的,每一個字符串TOC\o"1-5"\h\z都有一個結尾字符 。使用const語句定義一個標識符常量時,則必須對它同時進行 。類test的析構函數(shù)名是。建立對象時,為節(jié)省內(nèi)存,系統(tǒng)只給 分配內(nèi)存。類中的數(shù)據(jù)和成員函數(shù)默認訪問類型為。當建立一個新對象時,程序自動調用 。22.23.在C++中,函數(shù)的參數(shù)有兩種傳遞方式,它們是值傳遞和 。24.若表達式(x+(y-z)*(m/n))+3中的變量均為double型,則表達式值的類型為。循環(huán)語句:for(inti=50;i>20;i-=2)cout<<i<<?,?;運行時循環(huán)體的執(zhí)行次數(shù)是任何類中允許有三種訪問權限的數(shù)據(jù),這三種訪問權限分別是public、、27.類是用戶定義的類型,具有類類型的變量稱為。當建立一個新對象時,程序自動調用。28.利用成員函數(shù)對二元運算符重載,其左操作數(shù)為,右操作數(shù)為。 29.C++將類繼承分為和兩種。派生類可以定義其 中不具備的數(shù)據(jù)和操作。有如下類定義:classSample{public:Sample();~Sample();private:staticintdate;};將靜態(tài)數(shù)據(jù)成員data初始化為0的語句是。在保護繼承方式下,基類的公有和保護成員成為派生類中的成員。33.若表達式(x+(y-z)*(m/n))+3中的變量均為double型,則表達式值的類型為。類test的析構函數(shù)名是。在保護繼承關系下,基類的公有成員和保護成員將成為派生類中的成員。36.類是對具有共同屬性和行為的一類事物的抽象描述,共同屬性被描述為類中的,共同行為被描述為類中的。37.在派生類的成員中有私有成員、、四類成員。38.在繼承機制下,當對象消亡時,編譯系統(tǒng)先執(zhí)行的析構函數(shù),然后才執(zhí)行派生類中子對象類的析構函數(shù),最后執(zhí)行的析構函數(shù)。39.在C語言中,編程的單位是在C++語言中,編程的單位是。40.若表達式(x+(y-z)*(m/n))+3中的變量均為double型,則表達式值的類型為。41.面向對象程序設計的機制提供了重復利用程序資源的一種途徑。42.非成員函數(shù)應聲明為類的才能訪問這個類的private成員。43.派生新類的過程一般包括、、三個步驟。44.C++程序的頭文件和源程序文件擴展名分別為和。45.循環(huán)語句:for(inti=50;i>20;i-=2)cout<<i<<?,?;運行時循環(huán)體的執(zhí)行次數(shù)是類中構造函數(shù)有個,析構函數(shù)有個。有如下類定義:classSample{public:Sample();~Sample();private:staticintdate;};將靜態(tài)數(shù)據(jù)成員data初始化為0的語句是。假定p所指對象的值為25,p+1所指對象的值為46,則執(zhí)行“(*p)++;”語句后,p所指對象的值為。若在類的定義體中只給出了一個成員函數(shù)的原型,則在類外給出完整定義時,其函數(shù)名前必須加上類名和兩個 分隔符。若需要把一個函數(shù)“voidF();”定義為一個類AB的友元函數(shù),則應在類AB的定義中加入一條語句:。若要把類外定義的成員函數(shù)規(guī)定為內(nèi)聯(lián)函數(shù),則必須把 關鍵字放到函數(shù)原型或函數(shù)頭的前面。(為了避免在調用成員函數(shù)時修改對象中的任何數(shù)據(jù)成員,則應在定義該成員函數(shù)時,在函數(shù)頭的后面加上 關鍵字。程序段i=5j=0j=++i+j;輸出結果為j=。類定義中,既包含數(shù)據(jù)成員,也包含 成員。假定AB為一個類,則執(zhí)行“ABa[10];”語句時,系統(tǒng)自動調用該類的構造函數(shù)的次數(shù)為,其構造函數(shù)名是。假定一個類對象數(shù)組為A[N],當離開它的作用域時,系統(tǒng)自動調用該類析構函數(shù)的次數(shù)為 。已知數(shù)組a中的元素個數(shù)為n,下列語句的作用是將下標為i的元素移動到下標為i,1的單元,其中1?i,n。例如,當n=4,a中原有數(shù)據(jù)為1,2,3,4時,則移動后a中元素為2,3,4,4。請將語句補充完整:for(inti=0;i<n-1;i++)a[i]=。是指對已有的運算符賦予多重含義。帶有的類稱為抽象類,抽象類的特征是不能聲明一個抽象類的,但可以聲明一個抽象類的指針或引用。若表達式(x+(y-z)*(m/n))+3中的變量均為double型,則表達式值的類型為。61.設A為test類的對象且賦有初值,則語句testB(A);表示。62.利用“對象名.成員變量”形式訪問的對象成員僅限于被聲明為的成員;若要訪問其他成員變量,需要通過函數(shù)或函數(shù)。63.是指同樣的消息被不同類型的對象接收時導致不同的行為。64.在繼承機制下,當對象消亡時,編譯系統(tǒng)先執(zhí)行的析構函數(shù),然后才執(zhí)行派生類中子對象類的析構函數(shù),最后執(zhí)行的析構函數(shù)。類中構造函數(shù)有個,析構函數(shù)有個。循環(huán)語句:for(inti=50;i>20;i-=2)cout<<i<<',';運行時循環(huán)體的執(zhí)行次數(shù)是類是用戶定義的類型,具有類類型的變量稱為。當建立一個新對象時,程序自動調用。有如下類定義:classSample{public:Sample();~Sample();private:staticintdate;};將靜態(tài)數(shù)據(jù)成員data初始化為0的語句是。繼承發(fā)生在利用現(xiàn)有類派生新類時,其中現(xiàn)有類稱為,或父類;新類稱為,或子類。利用“對象名.成員變量”形式訪問的對象成員僅限于被聲明為的成員;若要訪問其他成員變量,需要通過函數(shù)或函數(shù)。是指同樣的消息被不同類型的對象接收時導致不同的行為。二、單項選擇題(每小題2分,共20分)類中定義的成員默認為()訪問屬性。publicB.privateC.protectedD.friend如果一個函數(shù)無返回值,定義時它的函數(shù)類型應是()。A(任意B(intC(voidD(無下面的函數(shù)聲明中,()是“voidBC(inta,intb);"的重載函數(shù)。A(intBC(intx,inty);B(voidBC(inta,charb);C(floatBC(inta,intb,intc=0);D(intBC(inta,intb=0);與C語言printf(“Helloword\n");語句功能相同的C++語句是()。A.cout>>"Helloword\n"B.cin>>"Helloword\n"C.cout<<"Helloword\n"D.cin<<"Helloword\n"假定要對類AB定義加號操作符重載成員函數(shù),實現(xiàn)兩個AB類對象的加法,并返回相加結果,則該成員函數(shù)的聲明語句為()。ABoperator+(AB&a,AB&b)B.ABoperator+(AB&a)C.operator+(ABa)D.AB&operator+()以下不正確的語句是()。A(if(x>y);B(if(x=y)&&(x!=0)x+=y;C(if(x!=y)cin>>x;elsecin>>y;D(if(x<y){x++;y++;}intx=-1;do{x=x*x;}while(!x);下列說法正確的是()。A(是死循環(huán)B(循環(huán)執(zhí)行兩次C(循環(huán)執(zhí)行一次D(有語法錯誤下面函數(shù)()的表示方法說明它使用對象的引用作為參數(shù)。test(pt*p)B.test(ptp)C.test(pt&p)D.test(constP)下面敘述不正確的是()。A(基類的保護成員在派生類中仍然是保護的B(基類的保護成員在公有派生類中仍然是保護的C(基類的保護成員在私有派生類中是私有的D(對基類成員的訪問必須是無兩義性下列運算符中,()運算符在C++中不能重載。,:B.+C.-D.〈=在C++中,打開一個文件就是將這個文件與一個()建立關聯(lián);關閉一個文件就是取消這種關聯(lián)。流B.類C.結構D.對象對while、do???while循環(huán)結構,下面說法正確的是()。A(只是表達形式不同B(do???while結構中的語句至少執(zhí)行一次C(while結構中的語句至少執(zhí)行一次D(條件成立時,它們有可能一次也不執(zhí)行關于函數(shù)的調用下面不正確的是()。A(由于程序總是從主函數(shù)開始,所以函數(shù)的調用總是在主函數(shù)和其他函數(shù)之間進行B(函數(shù)的調用可以在任意函數(shù)之間進行,只要有需要C(一個函數(shù)可以自己調用自己D(函數(shù)返回時可以不必帶返回值,這時函數(shù)在定義時其類型應用void表示關于函數(shù)的聲明和定義正確的是()。A(函數(shù)的聲明是必須的,只有這樣才能保證編譯系統(tǒng)對調用表達式和函數(shù)之間的參數(shù)進行檢測,以確保參數(shù)的傳遞正確B(函數(shù)的定義和聲明可以合二為一,可以只有函數(shù)定義即可C(函數(shù)在聲明時,其參數(shù)標識符可省略,但參數(shù)的類型、個數(shù)與順序不能省略D(函數(shù)的存儲類型為外部型,所以可以在其他函數(shù)中被調用,它在定義時象其他外部變量一樣,可以在其他函數(shù)內(nèi)定義用于類中虛成員函數(shù)說明的關鍵字是()。publicB.virtualC.protectedD.private有如下程序段:inti=5;while(inti=0){cout<<"*";i--;}運行時輸出“*”的個數(shù)是()A.0B.1C.5D.無窮運算符重載時不需要保持的性質是()A.操作數(shù)個數(shù)B.操作數(shù)類型C.優(yōu)先級D.結合性有如下類定義和變量定義:classA{public:A(){data=0;}~A(){}intGetData()const{returndata;}voidSetData(intn){data=n;}private:intdata;};constAa;Ab;下列函數(shù)調用中錯誤的是()A.a.GetData();B.a.SetData(10);C.b.GetData();D.b.SetData(10);對類的構造函數(shù)和析構函數(shù)描述正確的是()構造函數(shù)可以重載,析構函數(shù)不能重載;構造函數(shù)不能重載,析構函數(shù)可以重載;構造函數(shù)可以重載,析構函數(shù)也可以重載;構造函數(shù)不能重載,析構函數(shù)也不能重載;下列有關類的說法不正確的是()。A(對象是類的一個實例B(任何一個對象只能屬于一個具體的類C(一個類只能有一個對象D(類與對象的關系和數(shù)據(jù)類型與變量的關系相似()的功能是對象進行初始化。A(析構函數(shù)B.數(shù)據(jù)成員C.構造函數(shù)D.靜態(tài)成員函數(shù)關于友元的描述中,()是錯誤的。A(友元函數(shù)是成員函數(shù),它被說明在類體內(nèi)B(友元函數(shù)可直接訪問類中的私有成員C(友元函數(shù)破壞封裝性,使用時盡量少用D(友元類中的所有成員函數(shù)都是友元函數(shù)為了使類中的某個成員不能被類的對象通過成員操作符訪問,則不能把該成員的訪問權限定義為()。A.publicB.protectedC.privateD.static下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的是()。靜態(tài)數(shù)據(jù)成員是類的所有對象共享的數(shù)據(jù)類的每一個對象都有自己的靜態(tài)數(shù)據(jù)成員類的不同對象有不同的靜態(tài)數(shù)據(jù)成員值靜態(tài)數(shù)據(jù)成員不能通過類的對象調用下列表達方式正確的是()。A(classP{B(classP{public:public:intx=15;intx;voidshow(){cout<<x;}voidshow(){cout<<x;}};}C(classP{D.classP{intf;public:};inta;f=25;voidSeta(intx){a=x;}以下敘述中不正確的是():一個類的所有對象都有各自的數(shù)據(jù)成員,它們共享函數(shù)成員;在一個類中可以聲明另一個類的對象作為它的數(shù)據(jù)成員;類與對象的關系和數(shù)據(jù)類型與變量的關系相似;一個對象可以屬于多個類。對于一個功能不太復雜,并且要求加快執(zhí)行速度,選用()合適A(內(nèi)置函數(shù)B(重載函數(shù)C(遞歸調用D(嵌套調用Sample是一個類,執(zhí)行下面語句后,調用Sample類的構造函數(shù)的次數(shù)是()Samplea[2],*p=newSample;A.0B.1C.2D.3已知函數(shù)FA調用FB,若要把這兩個函數(shù)定義在同一個文件中,貝H)A.FA必須定義在FB之前FB必須定義在FA之前若FA定義在FB之后,則FA的原型必須出現(xiàn)在FB的定義之前D.若FB定義在FA之后,則FB的原型必須出現(xiàn)在FA的定義之前下列有關運算符函數(shù)的描述中,錯誤的是()A.運算符函數(shù)的名稱總是以operator為前綴運算符函數(shù)的參數(shù)可以是對象運算符函數(shù)只能定義為類的成員函數(shù)在表達式中使用重載的運算符相當于調用運算符重載函數(shù)下面描述中,正確的是()。A(virtual可以用來聲明虛函數(shù)B(含有純虛函數(shù)的類是不可以用來創(chuàng)建對象的,因為它是虛基類C(既使基類的構造函數(shù)沒有參數(shù),派生類也必須建立構造函數(shù)D(靜態(tài)數(shù)據(jù)成員可以通過成員初始化列表來初始化下列對基類和派生類關系的描述中,錯誤的是()。A.派生類是基類的具體化B.派生類是基類的子集C.派生類是基類定義的延續(xù)D.基類是派生類的抽象C++語言對C語言做了很多改進,C++語言相對于C語言的最根本的變化是()。A(增加了一些新的運算符B.允許函數(shù)重載,并允許設置缺省參數(shù)C(規(guī)定函數(shù)說明符必須用原型D.引進了類和對象的概念下列表示引用的方法中,()是正確的。已知:intk=1000;A(int&x=k;B(char&y;C(int&z=1000;D(float&t=&k;下面對于友元函數(shù)描述正確的是()。A(友元函數(shù)的實現(xiàn)必須在類的內(nèi)部定義B(友元函數(shù)是類的成員函數(shù)C(友元函數(shù)破壞了類的封裝性和隱藏性D(友元函數(shù)不能訪問類的私有成員假定AB為一個類,則執(zhí)行“ABa(4),b[3],*p[2]語句時,自動調用該類構造函數(shù)的次數(shù)為()。A.3B.4C.6D.9以下不屬于構造函數(shù)特征的是()A.構造函數(shù)名與類名相同B.構造函數(shù)可以重載C.構造函數(shù)可以設置默認參數(shù)D.構造函數(shù)必須指定函數(shù)類型下列定義中,X是一個類,()是定義指向對象數(shù)組的指針p。A(X*p[4]B(X(*p)[4]C((X*)p[4]D(X*p[]假定X為一個類,則該類的復制構造函數(shù)的聲明語句為()。A(MyClass(MyClassx)B(MyClass&(MyClassx)C(MyClass(MyClass&x)D(MyClass(MyClass*x)以下正確的說法是()。實參和其對應的形參各占用獨立的存儲單元。實參和其對應的形參共占用一個存儲單元。只有當實參和與其對應的形參同名時才共占用存儲單元。形參是虛擬的,不占用存儲單元。下列關于多態(tài)性的描述,錯誤的是()。A(C++語言的多態(tài)性分為編譯時的多態(tài)性和運行時的多態(tài)性B(編譯時的多態(tài)性可通過函數(shù)重載實現(xiàn)C(運行時的多態(tài)性可通過模板實現(xiàn)D(實現(xiàn)運行時多態(tài)性的機制稱為動態(tài)綁定對C++編譯器區(qū)分重載函數(shù)無任何意義的信息是()A.參數(shù)類型B.參數(shù)個數(shù)C.返回值類型D..參數(shù)順序關于new運算符的下列描述中,()是錯誤的。A(它可以用來動態(tài)創(chuàng)建對象和對象數(shù)組B(使用它創(chuàng)建對象或對象數(shù)組,可以使用運算符DELETE刪除C(使用它創(chuàng)建對象時要調用構造函數(shù)D(使用它調用對象數(shù)組時不許指定初始值如果一個類至少有一個純虛函數(shù),那么就稱該類為()。A(抽象類B(派生類C(純基類D(以上都不對有如下程序:#include<iostream>usingnamespacestd;classA{public:virtualvoidf(){cout<<1;}voidg(){cout<<2;}};classB:publicA{public:virtualvoidf(){cout<<3;}voidg(){cout<<4;}};voidshow(A&a){a.f();a.g();}intmain(){Bb;show(b);return0;}運行時的輸出結果是()A.12B.34C.14D.32下列虛基類的聲明中,正確的是()A.classvirtualB:publicAB.virtualclassB:publicAC.classB:publicAvirtualD.classB:virtualpublicA派生類的對象對它的基類成員中()是可以訪問的。A.公有繼承的公有成員B.公有繼承的私有成員C.公有繼承的保護成員D.私有繼承的公有成員已知數(shù)組arr的定義如下:intarr[5]={1,2,3,4,5};下列語句中輸出結果不是2的是()A.cout<<*arr+1<<endl;B.cout<<*(arr+1)<<endl;C.cout<<arr[1]<<endl;D.cout<<*arr<<endl;下列運算符中,()運算符在C++中不能重載。A(?:B([]C(newD(&&有如下程序:#include<iostream>usingnamespacestd;classA{public:virtualvoidf(){cout<<1;}voidg(){cout<<2;}};classB:publicA{public:virtualvoidf(){cout<<3;}voidg(){cout<<4;}};voidshow(A&a){a.f();a.g();}intmain(){Bb;show(b);return0;}運行時的輸出結果是()A(12B(34C(14D(32有如下程序段:inti=4;intj=1;intmain(){inti=8,j=i;cout<<i<<j<<endl;}運行時的輸出結果是()A(44B(41C(88D(81下列情況中,不會調用拷貝構造函數(shù)的是()。A(用一個對象去初始化同一類的另一個新對象時B(將類的一個對象賦予該類的另一個對象時C(函數(shù)的形參是類的對象,調用函數(shù)進行形參和實參結合時D(函數(shù)的返回值是類的對象,函數(shù)執(zhí)行返回調用時下面對靜態(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ù)成員不能通過類的對象調用下面的函數(shù)調用fun(a+b,3,max(n-l)*b)則fun的實參個數(shù)是()。A(3B(4C(5D(6已知函數(shù)fun的原型為intfun(int,int,int)下列重載函數(shù)原型中錯誤的是()A.charfun(int,int);B.doublefun(int,int,double);C.intfun(int,char*);D.floatfun(int,int,int);下面描述中,正確的是()。A(virtual可以用來聲明虛函數(shù)B(含有純虛函數(shù)的類是不可以用來創(chuàng)建對象的,因為它是虛基類C(即使基類的構造函數(shù)沒有參數(shù),派生類也必須建立構造函數(shù)D(靜態(tài)數(shù)據(jù)成員可以通過成員初始化列表來初始化有如下類定義:classMyBase{intk;public:MyBase(intn=0):k(n){}intvalue()const{returnk;}};classMyDerived:MyBase{intj;public:MyDerived(inti):j(i){}intgetK()const{returnk;}intgutj()const{returnj;}};編譯時發(fā)現(xiàn)有一處語法錯誤,對這個錯誤最佳準確的描述是()A(在類MyDerived的定義中,基類名MyBase前缺少關鍵字public、protected或privateB(函數(shù)getK試圖訪問基類的私有成員變量kC(類MyDerived缺少一個無參的構造函數(shù)D(類MyDerived的構造的數(shù)沒有對基數(shù)數(shù)據(jù)成員k進行初始化關于多繼承二義性的描述,()是錯誤的。A(派生類的多個基類中存在同名成員時,派生類對這個成員訪問可能出現(xiàn)二義性B(派生類和它的基類中出現(xiàn)同名函數(shù)時,將可能出現(xiàn)二義性C(一個派生類是從具有共同的間接基類的兩個基類派生來的,派生類對該公共基類的訪問可能出現(xiàn)二義性D(解決二義性最常用的方法是作用域運算符對成員進行限定有如下的運算重載函數(shù)定義:doubleoperator+(inti,intk){returndouble(i+k);}但定義有錯誤,對這個錯誤的最準確的描述是()。A(+只能作為成員函數(shù)重載,而這里的+是作為非成員函數(shù)重載的B(兩個int型參數(shù)的和應該是int型,而這里將+的返回類型聲明為doubleC(沒有將運算符重載函數(shù)聲明為某個類的友元D(C++已經(jīng)提供了求兩個int型數(shù)據(jù)之和運算符+,不能再定義同樣的運算符關于友元的描述中,()是錯誤的。A(友元函數(shù)是成員函數(shù),它被說明在類體內(nèi)B(友元函數(shù)可直接訪問類中的私有成員C(友元函數(shù)破壞封裝性,使用時盡量少用D(友元類中的所有成員函數(shù)都是友元函數(shù)classParents{public:intpublicData;private:intprivateData;};classChildA:publicParents{/*類體略*/};classChildB:privateParents{/*類體略*/};ChildAa;ChildBb;下面語句中正確的是:()A.cout<<a.publicData<<endl;B.cout<<a.privateData<<endl;C.cout<<b.publicData<<endl;D.cout<<b.privateData<<endl;對C++編譯器區(qū)分重載函數(shù)無任何意義的信息是()A(參數(shù)類型B(參數(shù)個數(shù)C(返回值類型D(常成員函數(shù)關鍵字const下面的程序段的運行結果為()charstr[]="job",*p=str;cout<<*(p+2)<<endl;A)98B)無輸出結果C)字符'b'的地址D)字符'b'已知表達式++a中的“++”是作為成員函數(shù)重載的運算符,貝V與++a等效的運算符函數(shù)調用形式為()A(a.operator++(1)B(operator++(a)C(operator++(a,1)D(a.operator++()下列運算符中,不能重載的是()A(&&B(!=C(.(成員訪問運算符)D(->已知有數(shù)組定義chara[3][4];下列表達式中錯誤的是()A.a[2]=”WIN”B.strcpy(a[2],”WIN”)C.a[2][3]=?W?D.a[0][1]=a[0][1]有如下程序:#include<iostream>usingnamespacestd;classToy{public:Toy(char*_n){strcpy(name,_n);count++;}~Toy(){count--;}char*GetName(){returnname;}staticintgetCount(){returncount;}private:charname[10];staticintcount;};intToy::count=0;intmain(){Toyt1(“Snoopy”),t2(“Mickey”),t3(“Barbie”);cout<<t1.getCount()<<endl;return0;}運行時的輸出結果是()lB.2C.3D.運行時出錯將運算符重載為類成員函數(shù)時,其參數(shù)表中沒有參數(shù),說明該運算是()A(不合法的運算符B(—元運算符C(無操作數(shù)的運算符D(二元運算符有如下程序:#include<iostream>usingnamespacestd;classToy{public:Toy(char*_n){strcpy(name,_n);count++;}~Toy(){count--;}char*GetName(){returnname;}staticintgetCount(){returncount;}private:charname[10];staticintcount;};intToy::count=0;Toyt1(“Snoopy”),t2(“Mickey”),t3(“Barbie”);cout<<t1.getCount()<<endl;return0;}運行時的輸出結果是()A(1B(2C(3D(運行時出錯有如下兩個類定義classAA{};classBB{AAv1,*v2;BBv3;int*v4;};其中有一個成員變量的定義是錯誤的,這個變量是()A(v1B(v2C(v3D(v4有如下類定義:classXX{intxdata;public:XX(intn=0):xdata(n){}};classYY:publicXX{intydata;public:YY(intm=0,intn=0):XX(m),ydata(n){}};YY類的對象包含的數(shù)據(jù)成員的個數(shù)是()A(1B(2C(3D(4字符串常量〃MyName\n〃在內(nèi)存中需要占用()字節(jié)A(6B(7C(8D(9下列表達方式正確的是()。A(classP{B(classP{public:public:intx=15;intx;voidshow(){cout<<x;}voidshow(){cout<<x;}};}C(classP{D.classP{};inta;f=25;voidSeta(intx){a=x;}關于友元的描述中,()是錯誤的。A(友元函數(shù)是成員函數(shù),它被說明在類體內(nèi)B(友元函數(shù)可直接訪問類中的私有成員C(友元函數(shù)破壞封裝性,使用時盡量少用D(友元類中的所有成員函數(shù)都是友元函數(shù)有如下程序段:inti=4;intj=1;intmain(){inti=8,j=i;cout<<i<<j<<endl;}運行時的輸出結果是()A(44B(41C(88D(81已知表達式++a中的“++”是作為成員函數(shù)重載的運算符,貝V與++a等效的運算符函數(shù)調用形式為()A(a.operator++(1)B(operator++(a)C(operator++(a,1)D(a.operator++()#include<iostream>usingnamespacestd;classTest{public:Test(){}~Test(){cout<<'#';}};Testtemp[2],*pTemp[2];return0;}執(zhí)行這個程序輸出星號(#)的個數(shù)為()。A(1B(2C(3D(4關于多繼承二義性的描述,()是錯誤的。A(派生類的多個基類中存在同名成員時,派生類對這個成員訪問可能出現(xiàn)二義性B(—個派生類是從具有共同的間接基類的兩個基類派生來的,派生類對該公共基類的訪問可能出現(xiàn)二義性C(解決二義性最常用的方法是作用域運算符對成員進行限定D(派生類和它的基類中出現(xiàn)同名函數(shù)時,將可能出現(xiàn)二義性將運算符重載為類成員函數(shù)時,其參數(shù)表中沒有參數(shù),說明該運算是()A(不合法的運算符B(—元運算符C(無操作數(shù)的運算符D(二元運算符有如下程序#include<iostream>usingnamespacestd;classA{public:A(inti):r1(i){}voidprint(){cout<<?E?<<r1<<?-?;}voidprint()const{cout<<?C?<<r1*r1<<?-?;}private:intr1;};intmain(){Aal(2);constAa2(4);al.print();a2.print();return0;}運行時的輸出結果是()A(運行時出錯B(E2-C16-C(C4-C16-D(E2-E4-下列有關運算符函數(shù)的描述中,錯誤的是()A(運算符函數(shù)的名稱總是以operator為前綴B(運算符函數(shù)的參數(shù)可以是對象C(運算符函數(shù)只能定義為類的成員函數(shù)D(在表達式中使用重載的運算符相當于調用運算符重載函數(shù)下列關于this指針的說法正確的是()this指針存在于每個函數(shù)之中在類的非靜態(tài)函數(shù)中this指針指向調用該函數(shù)的對象C.this指針是指向虛函數(shù)表的指針D.this指針是指向類的函數(shù)成員的指針有如下程序段:inti=5;while(inti=0){cout<<"*";i--;}運行時輸出“*”的個數(shù)是()0B.1C.5D.無窮下列有關內(nèi)聯(lián)函數(shù)的敘述中,正確的是()。A(內(nèi)聯(lián)函數(shù)在調用時發(fā)生控制轉移B(內(nèi)聯(lián)函數(shù)必須通過關鍵字inline來定義C(內(nèi)聯(lián)函數(shù)是通過編譯器來實現(xiàn)的D(內(nèi)聯(lián)函數(shù)體的最后一條語句必須是return語句一個類可包含析構函數(shù)的個數(shù)是()A(0個B(1個C(至少一個D(0個或多個關于虛函數(shù)的描述中,正確的是()。A(虛函數(shù)是一個static類型的成員函數(shù)B(虛函數(shù)是一個非成員函數(shù)C(基類中說明了虛函數(shù)后,派生類中將其對應的函數(shù)可不必說明為虛函數(shù)D(派生類的虛函數(shù)與基類的虛函數(shù)具有不同的參數(shù)個數(shù)和類型下面對于友元函數(shù)描述正確的是()A(友元函數(shù)的實現(xiàn)必須在類的內(nèi)部定義B(友元函數(shù)是類的成員函數(shù)C(友元函數(shù)破壞了類的封裝性和隱藏性D(友元函數(shù)不能訪問類的私有成員在公有派生情況下,有關派生類對象和基類對象的關系,下列敘述不正確的是()A(派生類的對象可以賦給基類的對象B(派生類的對象可以初始化基類的引用C(派生類的對象可以直接訪問基類中的成員D(派生類的對象的地址可以賦給指向基類的指針下列關于虛基類的描述,錯誤的是()A(設置虛基類的目的是為了消除二義性B(虛基類的構造函數(shù)在非虛基類之后調用C(只有最遠派生類的構造函數(shù)調用虛基類的構造函數(shù)D(若虛基類由非虛基類派生而來,則仍然先調用基類構造函數(shù),再調用派生類的構造函數(shù)下面描述中,表達錯誤的是()A(公有繼承時基類中的public成員在派生類中仍是public的B(公有繼承是基類中的private成員在派生類中仍是private的C(公有繼承時基類中的protected成員在派生類中仍是protected的D(私有繼承時基類中的public成員在派生類中是private的10.關于new運算符的下列描述中,錯誤的是()。A(它可以用來動態(tài)創(chuàng)建對象和對象數(shù)組B(使用它創(chuàng)建的對象和對象數(shù)組可以使用運算符delete刪除C(使用它創(chuàng)建對象時要調用構造函數(shù)D(使用它創(chuàng)建對象數(shù)組時必須指定初始值if語句的語法格式可描述為格式1:if(<條件>)<語句〉或格式2:if(<條件>)<語句1>else<語句2>關于上面的語法格式,下列表述中錯誤的是()A(<條件〉部分可以是一個if語句,例如if(if(a=0)?)?B(<語句〉部分可以是一個if語句,例如if(?)if(?)?C(如果在〈條件>前加上邏輯非運算符?并交換〈語句1>和〈語句2>的位置,語句功能不變D(<語句〉部分可以是一個循環(huán)語句,例如if(?)while(?)?有如下類定義和變量定義:下列情況中,不會調用拷貝構造函數(shù)的是()。A(用一個對象去初始化同一類的另一個新對象時B(將類的一個對象賦予該類的另一個對象時C(函數(shù)的形參是類的對象,調用函數(shù)進行形參和實參結合時D(函數(shù)的返回值是類的對象,函數(shù)執(zhí)行返回調用時有如下類定義:classXX{intxx;public:XX():xx(0){cout<<?A?;}XX(intn):xx(n){cout<<?B?;}};classYY:publicXX{intyy;public:YY():yy(0){cout<<yy;}YY(intn):XX(n+1),yy(n){cout<<yy;}YY(intm,intn):XX(m),yy(n){cout<<yy;}};下列選項中,輸出結果為A0的語句是()A(YYyl(O,O);B(YYy2(l);C(YYy3(0);D(YYy4;下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的是()。靜態(tài)數(shù)據(jù)成員可以在類體內(nèi)進行初始化B.不能用參數(shù)初始化表對靜態(tài)數(shù)據(jù)成員初始化靜態(tài)數(shù)據(jù)成員只能用類名調用D.靜態(tài)數(shù)據(jù)成員在定義對象時被分配空間對C++編譯器區(qū)分重載函數(shù)無任何意義的信息是()A(參數(shù)類型B(參數(shù)個數(shù)C(返回值類型D(常成員函數(shù)關鍵字const下面()項是對構造函數(shù)和析構函數(shù)的正確定義。A(voidX::X(),voidX::~X()B(X::X(參數(shù)),X::~X()C(X::X(參數(shù)),X::~X(參數(shù))D(voidX::X(參數(shù)),voidX::~X(參數(shù))有如下程序段:inti=4;intj=1;intmain(){inti=8,j=i;cout<<i<<j<<endl;}運行時的輸出結果是()A.44B.41C.88D.81C++中的類有兩種用法:一種是類的實例化,即生成類對象,并參與系統(tǒng)的運行;另一種是通過()派生了新的類。A.復用B.繼承C.封裝D.引用下列對繼承的描述中,錯誤的是()。析構函數(shù)不能被繼承派生類也是基類的組合派生類的成員除了它自己的成員外,還包含了它的基類的成員D.派生類中繼承的基類成員的訪問權限到派生類保持不變派生類的對象對它的基類成員中()是可以訪問的。A.公有繼承的公有成員B.公有繼承的私有成員C.公有繼承的保護成員D.私有繼承的公有成員下列說法錯誤的是()。公有繼承的基類中的public成員在派生類中仍是public的公有繼承的基類中的private成員在派生類中仍是private的私有繼承的基類中的public成員在派生類中變成private的保護繼承的基類中的public成員在派生類中變成protected的C++類體系中,不能被派生類繼承的有()。A.構造函數(shù)B.虛函數(shù)C.靜態(tài)成員函數(shù)D.賦值操作函數(shù)拷貝構造函數(shù)具有的下列特點中,()是錯誤的。A.如果一個類中沒有定義拷貝構造函數(shù)時,系統(tǒng)將自動生成一個默認的B.拷貝構造函數(shù)只有一個參數(shù),并且是該類對象的引用C.拷貝構造函數(shù)是一種成員函數(shù)拷貝構造函數(shù)的名字不能用類名下列關于虛基類的描述中,錯誤的是()A(使用虛基類可以消除由多繼承產(chǎn)生的二義性B(構造派生類對象時,虛基類的構造函數(shù)只被調用一次C(聲明“classB:virtualpublicA"說明類B為虛基類D(建立派生類對象時,首先調用虛基類的構造函數(shù)有如下程序#include<iostream>usingnamespacestd;classA{public:A(inti):r1(i){}voidprint(){cout<<?E?<<r1<<?-?;}voidprint()const{cout<<?C?<<r1*r1<<?-?;}private:intr1;};intmain(){Aal(2);constAa2(4);al.print();a2.print();Return0;}運行時的輸出結果是()A(運行時出錯B(E2-C16-C(C4-C1.D(E2-E4-下列對派生類的描述中,()是錯誤的。A(一個派生類可以作為另一個派生類的基類B(派生類至少有一個基類C(派生類的成員除了它自己的成員外,還包含了它的基類成員D(派生類中繼承的基類成員的訪問權限到派生類保持不變派生類的對象對它的哪一類基類成員是可以訪問的,()A(公有繼承的基類的公有成員B.公有繼承的基類的保護成員C.公有繼承的基類的私有成員D.保護繼承的基類的公有成員關于多繼承二義性的描述,()是錯誤的。A(派生類的多個基類中存在同名成員時,派生類對這個成員訪問可能出現(xiàn)二義性B(一個派生類是從具有共同的間接基類的兩個基類派生來的,派生類對該公共基類的訪問可能出現(xiàn)二義性C(解決二義性最常用的方法是作用域運算符對成員進行限定D(派生類和它的基類中出現(xiàn)同名函數(shù)時,將可能出現(xiàn)二義性C++類體系中,能被派生類繼承的是()。A(構造函數(shù)B(虛函數(shù)C(析構函數(shù)D(友元函數(shù)設有基類定義:classCbase{private:inta;protected:intb;public:intc;};派生類采用何種繼承方式可以使成員變量b成為自己的私有成員()A.私有繼承B.保護繼承C.公有繼承D.私有、保護、公有均可關于虛函數(shù)的描述中,()是正確的。虛函數(shù)是一個靜態(tài)成員函數(shù)虛函數(shù)是一個非成員函數(shù)虛函數(shù)既可以在函數(shù)說明時定義,也可以在函數(shù)實現(xiàn)時定義D.派生類的虛函數(shù)與基類中對應的虛函數(shù)具有相同的參數(shù)個數(shù)和類型下列關于動態(tài)聯(lián)編的描述中,錯誤的是()。A(動態(tài)聯(lián)編是以虛函數(shù)為基礎B(動態(tài)聯(lián)編是運行時確定所調用的函數(shù)代碼的C(動態(tài)聯(lián)編調用函數(shù)操作是指向對象的指針或對象引用D(動態(tài)聯(lián)編是在編譯時確定操作函數(shù)的下面4個選項中,()是用來聲明虛函數(shù)的。A(virtualB(publicC(usingD(false關于純虛函數(shù)和抽象類的描述中,錯誤的是()。A(純虛函數(shù)是一種特殊的虛函數(shù),它沒有具體的實現(xiàn)B(抽象類是指具體純虛函數(shù)的類C(一個基類中說明有純虛函數(shù),該基類派生類一定不再是抽象類D(抽象類只能作為基類來使用,其純虛函數(shù)的實現(xiàn)由派生類給出編譯時的多態(tài)性可以通過使用()獲得。A(虛函數(shù)和指針B(重載函數(shù)和析構函數(shù)C(虛函數(shù)和對象D(虛函數(shù)和引用三、填寫程序運行結果(每小題4分,共20分)以下程序的輸出結果為#include<iostream>usingnamespacestd;voidmain(){intk=5;while(--k)cout<<”k=”<<k<<endl;}下面程序的運行結果為:#include<iostream>usingnamespacestd;voidmain(){inti,j,m=0,n=0;for(i=0;i<2;i++)for(j=0;j<2;j++)if(j>=i)m=1;n++;cout<<m<<endl;cout<<n;}執(zhí)行這個程序段輸出字符*的個數(shù)是#include<iostream>usingnamespacestd;intf(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}voidmain(){inta=2,I;for(I=0;I<3;I++)cout<<f(a)<<endl;}下面程序的運行結果為:#include<iostream>usingnamespacestd;classObj{staticinti;public:Obj(){i++;}~Obj(){i--;}staticintgetVal(){returni;}};intObj::i=0;voidf(){Objob2;cout<<ob2.getVal();}intmain(){Objobl;f();Obj*ob3=newObj;cout<<ob3->getVal();deleteob3;cout<<Obj::getVal();return0;}下面程序運行結束后,k的值為 。#include<iostream.h>voidmain(){inti,j,k;for(i=0,j=10;i<=j;i++,j--)k=i+j;count<<k;面程序的運行結果為:#include<iostream>usingnamespacestd;classC1{public:~C1(){cout<<1;}};classC2:publicC1{public:~C2(){cout<<2;}};intmain(){C2cb2;C1*cb1;return0;}下面程序的運行結果為:#include<iostream>usingnamespacestd;classA{public:virtualvoidfuncl(){cout<<“A1”;}voidfunc2(){cout<<“A2”;}};classB:publicA{public:voidfunc1(){cout<<“B1”;}voidfunc2(){cout<<“B2”;}};intmain(){A*p=newB;p->funcl();p->func2();return0;}以下程序的輸出結果為#include<iostream>usingnamespacestd;intadd(intx,inty=8);voidmain(){inta=4;cout<<add(a)<<endl;cout<<add(a,add(a))<<endl;}intadd(intx,inty);{returnx+y;}程序的輸出結果為。#include<iostream>usingnamespacestd;voidmain(){inti=0,x=0,y=0;do{++i;if(i%2!=0){x=x+i;i++;}y=y+i++;}while(i<=7);cout<<“x=”<<x<<”y=”<<y;}以下程序的輸出結果為。intx1=30,x2=40;voidmain(){intx3=10,x4=20;intsub(intx,inty);sub(x3,x4);sub(x2,x1);cout<<x1<<x2<<x3<<x4;}sub(intx,inty){x1=x;x=y;y=x1;}以下程序的輸出結果為#include<iostream>usingnamespacestd;classCsample{private:inti;staticintk;public:Csample();voidDisplay();};intCsample::k=0;Csample::Csample(){i=0;k++;}voidCsample::Display(){cout<<"i="<<i<<",k="<<k<<endl;}voidmain(){Csamplea,b;a.Display();b.Display();}以下程序的輸出結果為。#include<iostream>usingnamespacestd;classPoint{intx,y;public:Point(intx1=0,inty1=8){x=x1;y=y1;}~Point(){cout<<"Point"<<x<<';'<<y<<"isdeleted."<<endl;}};voidmain(){Pointa;Pointb(10,10);}以下程序的輸出結果為。#include<iostream>usingnamespacestd;classA{public:virtualvoidfuncl(){cout<<“A1”;}voidfunc2(){cout<<“A2”;}};classB:publicA{public:voidfunc1(){cout<<“B1”;}voidfunc2(){cout<<“B2”;}};intmain(){A*p=newB;p->funcl();p->func2();return0;}以下程序的輸出結果為#include<iostream>#include<cstring>usingnamespacestd;classXCD{char*a;intb;public:XCD(char*aa,intbb){a=newchar[strlen(aa)+1];strcpy(a,aa);b=bb;}char*Geta(){returna;}intGetb(){returnb;}};intmain(){char*p1=”abcd”,*p2=”weirong”;intd1=6,d2=8;XCDx(p1,d1),y(p2,d2);cout<<strlen(x.Geta())+y.Getb()<<endl;return0;}下面程序運行結果為:#include”iostream.h”f(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}voidmain(){inta=2,I;for(I=0;I<3;I++)cout<<f(a)<<endl;}以下程序的輸出結果為#include<iostream>usingnamespacestd;classA{public:{cout<<"A'sA(){cout<<"A'scons."<<endl;}virtual~A()des."<<endl;{cout<<"A'svirtualvoidf(){cout<<"A'sf()."<<endl;}voidg(){f();}};classB:publicA{public:B(){f();cout<<"B'scons."<<endl;}~B(){cout<<"B'sdes."<<endl;}};classC:publicB{public:C(){cout<<"C'scons."<<endl;}~C(){cout<<"C'sdes."<<endl;}voidf(){cout<<"C'sf()."<<endl;}};voidmain(){A*a=newC;a->g();deletea;}下面程序運行結果為:#include<iostream.h>voidmain(){inti=0,x=0,y=0;do{++i;if(i%2!=0){x=x+i;i++;}y=y+i++;}while(i<=7);cout<<“x=”<<x<<”y=”<<y;}程序運行結果為:計算斐波那契數(shù)列第n項的函數(shù)定義如下:intfib(intn){if(n==0)return1;elseif(n==1)return2;elsereturnfib(n-1)+fib(n-2);}若執(zhí)行函數(shù)調用表達式fib(2),函數(shù)fib被調用的次數(shù)是下面程序運行結果為:#include<iostream>usingnamespacestd;classA{public:A(inti):r1(i){}voidprint(){cout<<?e?<<r1<<?-?;}voidprint()const{cout<<?C?<<r1*r1<<?-?;}private:intr1;};intmain(){Aal(2);constAa2(4);al.print();a2.print();return0;}下面程序運行結果為:#include<iostream>usingnamespacestd;classGrandChild{public:GrandChild(){strcpy(name,"Unknown");}constchar*getName()const{returnname;}virtualchar*getAddress()const=0;private:charname[20];};classGrandSon:publicGrandChild{public:GrandSon(char*name){}char*getAddress()const{return"Shanghai";}};intmain(){GrandChild*gs二newGrandSon("Feifei");cout<〈gs_〉getName()<〈"住在"<<gs->getAddress()<<endl;deletegs;return0;}以下程序的輸出結果是。#include〈iostream.h>main(){inty=9;for(;y>0;y--)if(y%3==0)cout<<--y;}以下程序的輸出結果是。#include<iostream.h>main(){inta[5]={9,6,8,3,-1},i;sort(a);for(i=0;i<=4;i++)cout<<a[i];}sort(inta[]){inti,j,t,p;for(j=0;j<4;j++){p=j;for(i=j;i<=4;i++)if(a[i]<a[p])p=i;t=a[p];a[p]=a[j];a[j]=t;}}以下程序的輸出結果是。#include<iostream.h>classPoint{intx,y;public:Point(intx1=0,inty1=8){x=x1;y=y1;}~Point(){cout<<"Point"<<x<<';'<<y<<"isdeleted."<<endl;}};voidmain(){Pointa;Pointb(10,10);}下面程序的運行結果是。#include<iostream.h>classBase{inti;public:Base(intn){cout<<"Constuctingbaseclass"<<endl;i=n;}~Base(){cout<<"Destructingbaseclass"<<endl;}voidshowi(){cout<<i<<",";}intGeti(){returni;}};classDerived:publicBase{intj;Baseaa;public:Derived(intn,intm,intp):Base(m),aa(p){cout<<"Constructingderivedclass"<<endl;j=n;}~Derived(){cout<<"Destructingderivedclass"<<endl;}voidshow(){Base::showi();cout<<j<<","<<aa.Geti()<<endl;}};voidmain(){Derivedobj(8,13,24);obj.show();}面程序的運行結果是。#include<iostream>usingnamespacestd;classA{inta;public:A():a(9){}virtualvoidprint()const{cout<<a;};};classB:publicA{charb;public:B(){b=?S?;}voidprint()const{cout<<b;}};voidshow(A&X){X.print();}intmain(){Ad1,*p;Bd2;p=&d2;d1.print();d2.print();p->print();show(d1);show(d2);return0;}以下程序的輸出結果是#include<iostream>usingnamespacestd;main(){inti,j,sum;for(i=3;i>=1;i--){sum=0;for(j=1;j<=i;j++)sum+=i*j;}cout<<sum;}以下程序的輸出結果是#include"stdio.h"#defineN6main(){charc[N];inti;for(i=0;i<N;i++)c[i]=getchar();for(i=0;i<N;i++)putchar(c[i]);}當運行程序時輸入三行,每行都是在第一列上開始:a<Enter>b<Enter>cdef<Enter>如果不能使用多態(tài)機制,那么通過基類的指針雖然可以指向派生類對象,但是只能訪問從基數(shù)繼承的成員,下列程序沒有使用多態(tài)機制,其輸出結果是。#include<iostream>usingnamespacestd;classBase{public:voidprint(){cout<<'B';}};classDerived:publicBase{public:voidprint(){cout<<'D';}};intmain(){Derived*pd=newDerived();Base*pb=pd;pb->print();pd->print();deletepd;return0;}以下程序的輸出結果是#include<iostream.h>classCsample{private:inti;staticintk;public:Csample();voidDisplay();};intCsample::k=0;Csample::Csample(){i=0;k++;}voidCsample::Display(){cout<<"i="<<i<<",k="<<k<<endl;}voidmain(){Csamplea,b;a.Display();b.Display();}以下程序的輸出結果是#include<iostream.h>classA{public:A(char*s){cout<<s<<endl;}~A(){}};classB:virtualpublicA{public:B(char*s1,char*s2):A(s1){cout<<s2<<endl;}};classC:virtualpublicA{public:C(char*s1,char*s2):A(s1){cout<<s2<<endl;}};classD:publicB,publicC{public: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;}下面程序的運行結果為:#include<iostream.h>voidmain(){inti,k=0;for(i=0;;i++){k++;if(k%3==0)break;}cout<<i<<k;}下面程序的運行結果為:#include<iostream.h>classPoint{intx,y;public:Point(intx1=0,inty1=8){x=x1;y=y1;}~Point(){cout<<"Point"<<x<<';'<<y<<"isdeleted."<<endl;}};voidmain(){Pointa;Pointb(10,10);}面程序的運行結果為:#include<iostream>usingnamespacestd;classSp{intx;public:voidsetx(inti){x=i;}intputx(){returnx;}};voidmain(){Spa[3],*p;for(inti=0;i<=2;i++)a[i].setx(i);p=a;for(;i>0;i--)cout<<p++->putx()<<"";cout<<endl;}下面程序的運行結果為:#include<iostream>usingnamespacestd;classMyClass{public:MyClass(){cout<<?A?;}MyClass(charc){cout<<c;}~MyClass(){cout<<?B?;}};intmain(){p2=newMyClass(?X?);deletep2;return0;}下面程序的運行結果為:#include<iostream>#include<cstring>usingnamespacestd;classXCD{char*a;intb;public:XCD(char*aa,intbb){a=newchar[strlen(aa)+1];strcpy(a,aa);b=bb;}char*Geta(){returna;}intGetb(){returnb;}};intmain(){char*p1=”abcd”,*p2=”weirong”;intd1=6,d2=8;XCDx(p1,d1),y(p2,d2);cout<<strlen(x.Geta())+y.Getb()<<endl;return0;}以下程序的輸出結果為。charch1='b',ch2;ch2=ch1+'A'-'a';cout<<ch1<<?,?<<ch2;以下程序的輸出結果為。#include"iostream.h"voidmain(){intn[2]={0},i,j;for(i=0;i<2;i++)for(j=0;j<2;j++)n[j]=n[i]+1;for(i=0;i<2;i++)cout<<n[i];}以下程序的輸出結果為。#include<iostream.h>voidmain(){inti,k=0;for(i=0;;i++){k++;if(k%3==0)break;}cout<<i<<k;}下面程序的運行結果是 #include"iostream.h"classtest{private:intnum;floatfl;public:test();intgetint(){returnnum;}floatgetfloat(){returnfl;}~test();};test::test(){cout<<"Initalizingdefault"<<endl;num=0;fl=0.0;}test::~test(){cout<<"Destructorisactive"<<endl;}voidmain(){testarray[2];cout<<array[1].getint()<<""<<array[1].getfloat()<<endl;}下面程序的運行結果是 。#include<iostream>usingnamespacestd;classA{inta;public:A():a(9){}virtualvoidprint()const{cout<<a;};};classB:publicA{charb;public:B(){b=?S?;}voidprint()const{cout<<b;}};voidshow(A&X){X.print();}intmain(){Ad1,*p;Bd2;p=&d2;d1.print();d2.print();p->print();show(d1);show(d2);return0;}下列程序運行結果為:#include<iostream.h>voidmain(){inti,j,m=0,n=0;for(i=0;i<2;i++)for(j=0;j<2;j++)if(j>=i)m=1;n++;cout<<m<<endl;cout<<n;}寫出下列程序運行結果:#include<iostream.h>voidmain(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=10)break;if(b%3==1){b+=3;continue;}}cout<<a<<endl;cout<<b;}下面程序段的運行結果為:for(y=1;y<10;)y=((x=3*y,x+1),x-1);cout<<“x=”<<x<<”y=”<<y;A(x=27,y=27B(x=12,y=13C(x=15,y=14D(x=y=27下面程序段的運行結果是為:i=1;a=0;s=1;do{a=a+s*i;s=-s;i++;}while(I<=10);cout<<“a=”<<a;下面程序段的運行結果為:#include<iostream.h>voidmain(){inti,t,sum=0;for(t=i=1;i<=10;){sum+=t;++i;if(i%3==0)t=-i;elset=i;}cout<<

溫馨提示

  • 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

提交評論