面向?qū)ο蟪绦蛟O(shè)計(jì)Ⅱ?qū)W習(xí)通超星期末考試答案章節(jié)答案2024年_第1頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)Ⅱ?qū)W習(xí)通超星期末考試答案章節(jié)答案2024年_第2頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)Ⅱ?qū)W習(xí)通超星期末考試答案章節(jié)答案2024年_第3頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)Ⅱ?qū)W習(xí)通超星期末考試答案章節(jié)答案2024年_第4頁(yè)
面向?qū)ο蟪绦蛟O(shè)計(jì)Ⅱ?qū)W習(xí)通超星期末考試答案章節(jié)答案2024年_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

面向?qū)ο蟪绦蛟O(shè)計(jì)Ⅱ?qū)W習(xí)通超星期末考試章節(jié)答案2024年C++源程序文件的默認(rèn)擴(kuò)展名為

答案:.cpp在一個(gè)好的程序中,注釋可提高程序的程序的

答案:可讀性C++程序的實(shí)現(xiàn)經(jīng)過(guò)

、

步驟。

答案:編輯;編譯;編譯連接;運(yùn)行在C++語(yǔ)言中,“/*…*/”主要用于

行注釋?zhuān)?/”用于

行注釋。

答案:多;單;1判斷一種計(jì)算機(jī)語(yǔ)言是否為面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的三個(gè)基本特征是

、______

。

答案:封裝性;繼承性;多態(tài)性以下關(guān)于C++語(yǔ)言的敘述中,錯(cuò)誤的是()

答案:大寫(xiě)字母和小寫(xiě)字符的意義相同C++語(yǔ)言可執(zhí)行程序的開(kāi)始執(zhí)行點(diǎn)是()

答案:程序中的main函數(shù)在一個(gè)C++程序中()

答案:main函數(shù)可以在任何地方出現(xiàn)程序中的注釋部分()

答案:不參加編譯,也不會(huì)出現(xiàn)在目標(biāo)程序中注釋的目的主要是用來(lái)提高()

答案:可讀性C++程序的基本單位是()

答案:函數(shù)下列變量名中,合法的是()

答案:CHINA下列符號(hào)中,不可作為分隔符的是()

答案:問(wèn)號(hào)下列標(biāo)識(shí)符中都是合法的是()

答案:_key,example,a_b不能用于組成C++程序標(biāo)識(shí)符的是()

答案:連接符在C++語(yǔ)言中,自定義的標(biāo)識(shí)符()

答案:不能使用關(guān)鍵字并且區(qū)分大小寫(xiě)為了使模塊盡可能獨(dú)立,要求()

答案:模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱下列描述中,正確的是()

答案:軟件就是程序、數(shù)據(jù)與相關(guān)文檔的集合下列說(shuō)法中,正確的是()

答案:C++程序總是從主函數(shù)開(kāi)始執(zhí)行C++語(yǔ)言最有意義的方面是支持()

答案:面向?qū)ο竺嫦驅(qū)ο蟪绦蛟O(shè)計(jì)將數(shù)據(jù)與()放在一起,做為一個(gè)相互依存、不可分割的整體來(lái)處理。

答案:對(duì)數(shù)據(jù)的操作C++語(yǔ)言支持過(guò)程程序設(shè)計(jì)方法和()設(shè)計(jì)方法。

答案:面向?qū)ο驝++語(yǔ)言是從早期的C語(yǔ)言逐漸發(fā)展演變而來(lái)的,與C語(yǔ)言相比,它在求解問(wèn)題方法上進(jìn)行的最大改進(jìn)是()

答案:面向?qū)ο髮⒏呒?jí)語(yǔ)言編寫(xiě)的源程序翻譯成目標(biāo)程序的是()

答案:編譯程序C++對(duì)C作了很多改進(jìn),從面向過(guò)程成為面向?qū)ο蟮闹饕蚴牵ǎ?/p>

答案:引進(jìn)了類(lèi)和對(duì)象的概念關(guān)于C和C++的描述中,正確的是()

答案:

C++是C的超集由C++目標(biāo)文件連接而成的可執(zhí)行文件的缺省擴(kuò)展名為()

答案:

exe不可以作為C++用戶(hù)標(biāo)識(shí)符的是()

答案:

case

關(guān)于C++與C語(yǔ)言的關(guān)系描述中,錯(cuò)誤的是()

答案:

C++和C語(yǔ)言都是面向?qū)ο蟮?/p>

以下程序的運(yùn)行結(jié)果是什么?#includeusingnamespacestd;intmain(){

charx('m'),y('n');

intn;

n=x3)+(y-x==1);

cout<答案:113以下程序的運(yùn)行結(jié)果是什么?

#includeusingnamespacestd;intmain(){

inta;

a=7*2+-3%5-4/3;

doubleb;

b=510+3.2-5.4/0.03;

cout<答案:10

333.20

4t3以下程序的運(yùn)行結(jié)果是什么?#includeusingnamespacestd;intmain(){floatx;inti;x=12.6;i=(int)x;cout<<"x="<答案:x=12.6i=12展轉(zhuǎn)相除法求兩個(gè)整數(shù)a和b的最小公倍數(shù)。#includeusingnamespacestd;intmain(){inta=10,b=15;inttemp,i=1;if([1]){temp=a;a=b;b=temp;}while(i*a%b!=0)[2];cout<<[3]<答案:a求3到100之間的所有素?cái)?shù)之和。#includeusingnamespacestd;

[1]intmain(){intsum=0;for(inti=3;i<=100;i++){inttemp=int(sqrt(i));for(intj=2;j<=temp;j++)if(i%j)[2]if([3])sum+=i;}cout<答案:include

;

#include;break;;j>temp下列描述正確的是()

答案:不是每個(gè)C++程序都必須包含預(yù)處理命令#include執(zhí)行以下程序段的輸出結(jié)果是()ints1=0,s2=0,s3=0,s4=0;for(intt=1;t<=4;t++)switch(t){caset>=4:s1++;break;caset>=3:s2++;break;caset>=2:s3++;break;default:s4++;}cout<答案:

編譯不通過(guò)下面的程序()

#include

voidmain(){

inta=5,b=4,c=3;

if(a=b+c)cout<<”***”<答案:輸出***

下列關(guān)于if語(yǔ)句的描述中錯(cuò)誤的是()

答案:

if語(yǔ)句中if體內(nèi)不能是開(kāi)關(guān)語(yǔ)句

下面的do語(yǔ)句的循環(huán)體執(zhí)行次數(shù)為()

inta=10;

do{a--;}while(a!=0);

答案:

10

在設(shè)計(jì)C++程序時(shí),應(yīng)采用的原則之一是()

答案:程序結(jié)構(gòu)應(yīng)有助于讀者理解與以下程序段等價(jià)的是()

while(a){if(b)continue;c;}

答案:while(a){if(!b)c;}

關(guān)于switch語(yǔ)句的描述中,正確的是()

答案:switch語(yǔ)句中default子句可以沒(méi)有,也可有一個(gè)在C++中,const修飾符主要用于代替C語(yǔ)言中的()關(guān)鍵字進(jìn)行常量定義。

答案:define下列運(yùn)算符中,可以作用于浮點(diǎn)數(shù)的是()

答案:++

設(shè)intn=10,i=4;,則表達(dá)式n%=i+1運(yùn)算后n的值是()

答案:

0

下列關(guān)于類(lèi)型轉(zhuǎn)換的描述中錯(cuò)誤的是()

答案:在不同類(lèi)型操作數(shù)組成的表達(dá)式中,表達(dá)式類(lèi)型一定是最高類(lèi)型double型sizeof(double)是一個(gè)()

答案:整型表達(dá)式表達(dá)式(-17)%5的值()表達(dá)式(-17)%(-5)的值。

答案:等于字符串”\\\”ABC\”\\”的長(zhǎng)度是()

答案:7

在C++語(yǔ)言中,char型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是()

答案:ASCII碼在32位機(jī)器環(huán)境下,若有inta[10];,則表達(dá)式sizeof(a)/sizeof(int)的值是()

答案:10

關(guān)于字符'\0'的下列描述中不正確的是()

答案:

是空格字符的轉(zhuǎn)義表示形式

在C++語(yǔ)言中,080是()

答案:非法數(shù)下列字符串常量表示中,錯(cuò)誤的是()

答案:

”AB\C”下列字符常量表示中,錯(cuò)誤的是()

答案:‘\4f’unsigned不能修飾的類(lèi)型是()

答案:float英文大寫(xiě)字母B的ASCII碼為42H,英文小寫(xiě)字母b的ASCII碼為()

答案:

62H常量3.14的數(shù)據(jù)類(lèi)型是()

答案:double下面的函數(shù)Sort()用于對(duì)整數(shù)數(shù)組array按升序排序的選擇排序算法,其中參數(shù)n表示array數(shù)組中存儲(chǔ)的數(shù)組元素?cái)?shù)。voidSort(intarray[],intn){intk;[1];for(inti=0;i答案:intt;k=i;i+1;1+i;array[k]=array[i];array[i]=t下面的函數(shù)bubble()是對(duì)整數(shù)數(shù)組a按升序排序的冒泡算法,其中,參數(shù)a存儲(chǔ)將被排序的數(shù)據(jù),size是數(shù)組a中存儲(chǔ)的元素?cái)?shù)目,請(qǐng)完成該函數(shù)。voidbubble(inta[],intsize){

[1];for(intp=1;[2];p++)for(inti=0;[3];i++)if(a[i]>a[i+1]){temp=a[i];

[4];[5];}}

答案:inttemp;p下面的函數(shù)fun未使用中間變量實(shí)現(xiàn)對(duì)兩個(gè)數(shù)的交換,請(qǐng)完成下列函數(shù)的定義。voidfun(int&x,int&y)

{x+=y;y=[1];

[2];}

答案:x-y;x=x-y

;

x-=y文件包含命令中對(duì)被包含的文件名的要求是()

答案:不一定是.h下列關(guān)于內(nèi)聯(lián)函數(shù)的描述中錯(cuò)誤的是()

答案:用inline修飾的函數(shù)原型其對(duì)應(yīng)的函數(shù)也將成為內(nèi)聯(lián)函數(shù)下列關(guān)于內(nèi)聯(lián)函數(shù)的說(shuō)法中不正確的是()

答案:

內(nèi)聯(lián)函數(shù)在被調(diào)用時(shí)發(fā)生控制轉(zhuǎn)移若函數(shù)沒(méi)有返回值,則該函數(shù)的類(lèi)型應(yīng)被說(shuō)明為()

答案:void下列關(guān)于C++函數(shù)的說(shuō)法中正確的是()

答案:

如函數(shù)先調(diào)用后定義,則必須在調(diào)用前說(shuō)明C++語(yǔ)言中允許同一程序中有相同的函數(shù)名存在,稱(chēng)為()

答案:

函數(shù)重載以下的函數(shù)調(diào)用語(yǔ)句中實(shí)參的個(gè)數(shù)是()

fun(a+b,(x,y),fun(n+k,d,(a,b)));

答案:3在函數(shù)說(shuō)明中,不必要的是()

答案:函數(shù)參數(shù)的名字在函數(shù)的返回值類(lèi)型與返回值表達(dá)式的類(lèi)型描述中錯(cuò)誤的是()

答案:函數(shù)返回值的類(lèi)型就是返回值表達(dá)式的類(lèi)型適宜定義為內(nèi)置函數(shù)的是()

答案:需要加快程序的執(zhí)行速度

在函數(shù)的傳值調(diào)用中,要求()

答案:

形參和實(shí)參對(duì)應(yīng)類(lèi)型一致,個(gè)數(shù)相等關(guān)于局部變量的說(shuō)法中,不正確的是()

答案:函數(shù)聲明中的形式參數(shù)名在函數(shù)被調(diào)用時(shí)分配內(nèi)存空間不屬于重載函數(shù)調(diào)用時(shí)選擇依據(jù)的是()

答案:函數(shù)類(lèi)型關(guān)于遞歸函數(shù)的說(shuō)法中,不正確的是()

答案:

解決同一個(gè)問(wèn)題的遞歸函數(shù)的效率比非遞歸函數(shù)的效率要高已知函數(shù)func的原型是:doublefunc(double*pd,int&ri);變量x和y的定義是:doublex;inty;把x和y分別作為第一參數(shù)和第二參數(shù)來(lái)調(diào)用func,正確的調(diào)用語(yǔ)句是()

答案:

func(&x,y);關(guān)于設(shè)置C++函數(shù)參數(shù)默認(rèn)值的描述中,正確的是()

答案:設(shè)置函數(shù)參數(shù)默認(rèn)值時(shí),應(yīng)該是先設(shè)置右邊的再設(shè)置左邊的在函數(shù)定義前加上inline表示該函數(shù)被定義為()

答案:

內(nèi)置函數(shù)關(guān)于內(nèi)置函數(shù)的說(shuō)法中,不正確的是()

答案:類(lèi)的內(nèi)置函數(shù)必須在類(lèi)體外通過(guò)加關(guān)鍵字inline定義若要定義一個(gè)只允許本源文件中所有函數(shù)能使用的全局變量,則該變量需要使用的存儲(chǔ)類(lèi)別是()

答案:static寫(xiě)出程序運(yùn)行結(jié)果。#includeusingnamespacestd;classClassOne{public:

ClassOne();

ClassOne(intvalue);

voidPrint();

~ClassOne();private:

inti;};classClassTwo{public:

ClassOne

myclass;

ClassTwo();

ClassTwo(intvalue);

voidPrint();

~ClassTwo();private:

inti;};

ClassOne::ClassOne(){

cout<<”ThisisconstructorofClassOne!”<答案:ThisisconstructorofClassOne!ThisisconstructorofClassTwo!TheiofClassTwois10ThisisadestructorofClassTwo!ThisisadestructorofClassOne!寫(xiě)出下列程序的運(yùn)行結(jié)果

#includeusingnamespacestd;classMyClass{

charch;

public:

MyClass();

MyClass(charcharacter);

voidPrint();

~MyClass();};MyClass::MyClass(){

cout<<"Thisisaconstructor!"<答案:Thisisaconstructor!Thisisaconstructor!ThevalueofchisaThevalueofchisbThisisadestructor!Thisisadestructor!以下程序輸出的第二行是

[1]

。

#includeusingnamespacestd;classPoint{

intx,y;

public:

Point(){x=1;y=1;}

Point(inttx,intty){x=tx;y=ty;}

~Point(){cout<<"Point"<答案:Point1,1isdeleted.下面的類(lèi)定義了拷貝構(gòu)造函數(shù),請(qǐng)完成該類(lèi)的定義和實(shí)現(xiàn)(設(shè)拷貝構(gòu)造函數(shù)形參名為p)。classMyClass{public:MyClass(intxx=0,intyy=0){X=xx;

Y=yy;}

[1]

;

//拷貝構(gòu)造函數(shù)

private:

intX,Y;};MyClass::

[2]

{

X=

[3]

;

[4]

;

答案:MyClass(MyClass&p;MyClass(MyClass&p;p.X;Y=p.Y下面的類(lèi)中定義了一個(gè)關(guān)于星期的枚舉類(lèi)型,請(qǐng)完成下面的程序。classMyClass{public:

enumWeek{Sun,Mon,Tue,Wed,Thu,Fri,Sat};

Weekweek;};voidfun(MyClass&my){[1]

=

[2]

;

/*將對(duì)象my的week賦值為所定義的枚舉類(lèi)型值為3的枚舉量*/}

答案:my.week;MyClass::Wed若類(lèi)A的構(gòu)造函數(shù)定義為:A(intaa=1,intbb=0){a=aa;b=bb;},則執(zhí)行:Ax(4);后,x.a和x.b的值分別是()

答案:

4,0

對(duì)于任意一個(gè)類(lèi),析構(gòu)函數(shù)的個(gè)數(shù)最多為()

答案:1

假設(shè)MyClass是一個(gè)類(lèi),則該類(lèi)的拷貝初始化構(gòu)造函數(shù)的聲明語(yǔ)句為()

答案:MyClass(MyClass&x);

在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,首先需要在問(wèn)題域中識(shí)別出若干個(gè)()。

答案:類(lèi)

在C++中用類(lèi)將數(shù)據(jù)和對(duì)數(shù)據(jù)操作的代碼連接在一起稱(chēng)為()。

答案:封裝下列關(guān)于析構(gòu)函數(shù)的描述中,錯(cuò)誤的是()。

答案:析構(gòu)函數(shù)可以重載

()是析構(gòu)函數(shù)的特征。

答案:

一個(gè)類(lèi)只能定義一個(gè)析構(gòu)函數(shù)下列關(guān)于構(gòu)造函數(shù)的描述中,錯(cuò)誤的是()。

答案:構(gòu)造函數(shù)可以有返回值已知類(lèi)A中一個(gè)成員函數(shù)說(shuō)明如下:

VoidSet(A&a);其中,A&a的含義是()。

答案:a是類(lèi)A的對(duì)象引用,用來(lái)做函數(shù)Set()的形參關(guān)于內(nèi)聯(lián)函數(shù)的說(shuō)法中,不正確的是()。

答案:類(lèi)的內(nèi)聯(lián)函數(shù)必須在類(lèi)體外通過(guò)加關(guān)鍵字inline定義對(duì)于拷貝構(gòu)造函數(shù)和賦值操作的關(guān)系,正確的描述是()。

答案:當(dāng)調(diào)用拷貝構(gòu)造函數(shù)時(shí),類(lèi)的對(duì)象正在被建立并被初始化對(duì)于拷貝構(gòu)造函數(shù),正確的描述是()。

答案:在C++語(yǔ)言中,如果不自定義類(lèi)的拷貝構(gòu)造函數(shù),則每個(gè)類(lèi)都有默認(rèn)的拷貝構(gòu)造函數(shù)為了使類(lèi)中的某個(gè)成員不能被類(lèi)的對(duì)象通過(guò)成員操作符訪問(wèn),則不能把該成員的訪問(wèn)權(quán)限定義為()。

答案:public對(duì)于結(jié)構(gòu)體中定義的成員,其默認(rèn)的訪問(wèn)權(quán)限是()。

答案:public在C++中,數(shù)據(jù)封裝要解決的問(wèn)題是()。

答案:防止不同模塊之間數(shù)據(jù)的非法訪問(wèn)假定MyClass為一個(gè)類(lèi),則該類(lèi)的拷貝構(gòu)造函數(shù)的聲明語(yǔ)句是()。

答案:MyClass&(MyClass

&x)

類(lèi)的析構(gòu)函數(shù)的作用是()。

答案:刪除對(duì)象對(duì)類(lèi)的構(gòu)造函數(shù)和析構(gòu)函數(shù)描述正確的是()。

答案:構(gòu)造函數(shù)可以重載,析構(gòu)函數(shù)不能重載通??截悩?gòu)造函數(shù)的參數(shù)是()。

答案:某個(gè)對(duì)象的引用名

寫(xiě)出程序運(yùn)行結(jié)果。#includeusingnamespacestd;classR{

intR1,R2;public:R(intr1,intr2){R1=r1;R2=r2;}voidprint(){cout<<"voidprint()"<答案:voidprint()5:4voidprint()const20:52寫(xiě)程序運(yùn)行結(jié)果.#includeusingnamespacestd;classA{inti,j;staticintc;public:A(inta=0,intb=0){i=a;j=b;c++;}~A(){c--;}staticvoidf(){cout<<"c="<答案:c=5

c=3下列程序通過(guò)把類(lèi)Distance定義為類(lèi)Point的友元類(lèi)來(lái)實(shí)現(xiàn)計(jì)算兩點(diǎn)之間距離的功能。請(qǐng)完成該程序。(假設(shè)沒(méi)有給出坐標(biāo)的點(diǎn)為原點(diǎn))#include#includeusingnamespacestd;classPoint

{public:

[1]

;

Point(

[2]

)

{X=a;

Y=b;}

voidPrint()

{

cout<<”X=”<答案:friendclassDistance;floata=0,floatb=0;result=sqrt((q.X-p.X請(qǐng)將如下程序補(bǔ)充完整,使程序的輸出結(jié)果為“10-6”#includeusingnamespacestd;classTest{

intx,y;public:

Test(inti,intj):

[1]

{}

intget()const{returnx-y;}

intget(){returnx+y;}};intmain(){

Testt1(4,6);[2]

t2(2,8);

cout<答案:x(i;constTest;Testconst下面對(duì)靜態(tài)數(shù)據(jù)成員的描述中,正確的是()

答案:

靜態(tài)數(shù)據(jù)成員是類(lèi)的所有對(duì)象共享的數(shù)據(jù)

下面對(duì)于友元函數(shù)描述正確的是()

答案:

友元函數(shù)破壞了類(lèi)的封裝性和隱藏性

下列有關(guān)一個(gè)類(lèi)的友元函數(shù)的敘述中,正確的()

答案:

允許在類(lèi)外訪問(wèn)類(lèi)中的任何成員

下列關(guān)于靜態(tài)成員的描述中錯(cuò)誤的是()

答案:

對(duì)靜態(tài)成員的訪問(wèn)不受訪問(wèn)權(quán)限的限制

下列關(guān)于靜態(tài)成員函數(shù)的說(shuō)法中不正確的是()

答案:

靜態(tài)成員函數(shù)中可以直接引用類(lèi)的非靜態(tài)成員

對(duì)于常成員函數(shù),下面描述正確的是()

答案:

只有常成員函數(shù)可以操作常對(duì)象

對(duì)于常數(shù)據(jù)成員,下面的描述正確的是()

答案:

常數(shù)據(jù)成員必須被初始化,并且不能更新

一個(gè)類(lèi)的友元函數(shù)或友元類(lèi)能夠通過(guò)成員操作符訪問(wèn)該類(lèi)的()

答案:

所有成員關(guān)于常成員函數(shù)的說(shuō)法中,不正確的是()

答案:

常成員函數(shù)可以引用和修改類(lèi)的非常數(shù)據(jù)成員

關(guān)于友元的描述中,正確的是()

答案:

友元函數(shù)要在類(lèi)體內(nèi)說(shuō)明下列關(guān)于靜態(tài)數(shù)據(jù)成員的特性描述中錯(cuò)誤的是()

答案:

靜態(tài)數(shù)據(jù)成員不是所有對(duì)象所共用的關(guān)于成員函數(shù)特征的下述描述中錯(cuò)誤的是()

答案:

成員函數(shù)一定是內(nèi)聯(lián)函數(shù)

友元的作用是()

答案:

提高成員的運(yùn)行效率

不屬于類(lèi)的成員函數(shù)的是()

答案:

友元函數(shù)

f()函數(shù)是類(lèi)的一個(gè)常成員函數(shù),它有一個(gè)int型參數(shù),并且返回類(lèi)型為int。下列對(duì)該常成員函數(shù)進(jìn)行聲明的選項(xiàng)中,正確的是()

答案:

intf(int)const;

以下敘述中不正確的是()

答案:

程序中有調(diào)用關(guān)系的函數(shù)必須放在同一個(gè)原文件中

若類(lèi)A被說(shuō)明成是類(lèi)B的友元,則()

答案:

類(lèi)B不一定是類(lèi)A的友元局部變量可以隱藏全局變量,在有同名全局變量和局部變量的情形時(shí),可以用()提供對(duì)全局變量的使用。

答案:

域運(yùn)算符對(duì)C++編譯器區(qū)分重載函數(shù)無(wú)意義的信息是()。

答案:A

返回值類(lèi)型

寫(xiě)程序運(yùn)行結(jié)果。#includeusingnamespacestd;classMyClass

{public:

voidSetValue(intval);

MyClass();

~MyClass();

private:

inti;};MyClass::MyClass(){i=0;

cout<<”Thisisaconstructor!i=”<答案:Thisisaconstructor!i=0Thisisaconstructor!i=0Thisisaconstructor!i=0Thisisadestructor!i=0Thisisadestructor!i=0Thisisadestructor!i=0寫(xiě)程序運(yùn)行結(jié)果。#includeusingnamespacestd;classMyClass

{public:

voidSetValue(intval);

MyClass();

~MyClass();

private:

inti;};MyClass::MyClass(){i=0;

cout<<”Thisisaconstructor!i=”<SetValue(k+1);

p++;}return0;}

答案:Thisisaconstructor!i=0Thisisaconstructor!i=0Thisisaconstructor!i=0i=1i=2i=3Thisisadestructor!i=3Thisisadestructor!i=2Thisisadestructor!i=1下列程序在構(gòu)造函數(shù)和析構(gòu)函數(shù)中申請(qǐng)和釋放類(lèi)的私有成員,請(qǐng)完成類(lèi)的實(shí)現(xiàn)。classMyClass

{public:

MyClass(inta);

~MyClass();

private:

int*X;};MyClass::MyClass(inta){

[1]

;}MyClass::~MyClass(){

[2]

;}

答案:X=newint(a;deleteX已知:char*constp="abc";,則下列語(yǔ)句合法的是()

答案:p[2]='k';定義函數(shù)指針的是()

答案:

int(*p)();

若有定義:int*p=newint;,則下列說(shuō)法中不正確的是()

答案:系統(tǒng)為指針變量p分配了一個(gè)整型數(shù)據(jù)的存儲(chǔ)空間引用調(diào)用的調(diào)用方式是指()

答案:形參是引用,實(shí)參是變量關(guān)于new運(yùn)算符的錯(cuò)誤的描述是()。

答案:使用運(yùn)算符new創(chuàng)建對(duì)象數(shù)組時(shí)必須定義初始值對(duì)下列語(yǔ)句正確的描述是()。

constint*x;//(1)

int*constx;//(2)

答案:語(yǔ)句(2)的含義是指針變量x不能更改類(lèi)MyClass的定義如下:classMyClass{

public:

MyClass(){}

MyClass(inti){value=newint(i);}

int*value;

};若對(duì)value賦值,則下面語(yǔ)句正確的是()。

答案:MyClassmy(10);類(lèi)MyClass的定義如下:classMyClass{

public:

MyClass(){value=0;}

SetVariable(inti){value=i;}

Private:

intvalue;};則對(duì)下列語(yǔ)句序列正確的描述是()。

MyClass*p,my;p=&my;

答案:語(yǔ)句p->SetVariable(5)與語(yǔ)句my.SetVariable(5)等價(jià)假定MyClass為一個(gè)類(lèi),則執(zhí)行MyClassa[3],*p[2];語(yǔ)句時(shí),自動(dòng)調(diào)用該類(lèi)構(gòu)造函數(shù)()次。

答案:3

以下關(guān)于new運(yùn)算符的描述中()是錯(cuò)誤的。

答案:使用它創(chuàng)建對(duì)象數(shù)組時(shí)必須指定初始值關(guān)于this指針的說(shuō)明不正確的是()。

答案:this指針可以被賦值關(guān)于delete的描述中,正確的是()。

答案:它必須用于new返回的指針對(duì)于語(yǔ)句“inta;constint*ptr=&a;”,下列描述正確的是()。

答案:ptr是指向常量的指針,不能通過(guò)ptr改變a的值

寫(xiě)出程序運(yùn)行結(jié)果。#includeusingnamespacestd;classBase

{public:

voidf(){cout<<"funofBase"<f();return0;}

答案:funofBasefunofBase寫(xiě)程序運(yùn)行結(jié)果#includeusingnamespacestd;classB1

{

intb1;public:

B1(inti){b1=i;cout<<"B1::"<答案:B2::2

B1::1

B3::3

D::4請(qǐng)改正程序中的錯(cuò)誤,使程序的輸出結(jié)果如下:Base1Base23,1,4注意:(1)只修改注釋的下一行,不要改動(dòng)程序中的其它內(nèi)容,也不允許增加或刪減語(yǔ)句。

(2)寫(xiě)出修改后完整的一行。#includeusingnamespacestd;classBase{public:Base1(intx){b1=x;cout<<”Base1”<答案:intb1;;intBase2::b2=0;;Derived(inta,intb請(qǐng)將如下程序補(bǔ)充完整,使程序的輸出結(jié)果為:b=0,d=0b=1,d=2源程序清單:#includeusingnamespacestd;classBase

{public:

[1]

{b=x;}

protected:

intb;};classDerived:publicBase

{

intd;public:

Derived():d(0){}Derived(intm,intn):

[2]

{}

voidprint(){cout<<"b="<答案:Base(intx=0;Base(m;void(Derived::*ptr請(qǐng)將如下程序補(bǔ)充完整,使程序的輸出結(jié)果為:B0:1B1:2B2:3D:123源程序清單:#includeusingnamespacestd;classB0

{public:

B0(intx){a=x;}

voidf(){cout<<"B0:"<答案:virtualpublic;

publicvirtual;B0(x;d.B0::f(下列程序中,編譯時(shí)不會(huì)出錯(cuò)的語(yǔ)句是()。#includeusingnamespacestd;classBase{public:

Base(){}

Base(inti){data=i;}private:

intdata;};classDerived:publicBase{public:

Derived():Base(0)

Derived(intx):Base(x)};intmain(){

Derivedd1(1);

Base*pb,b1;

pb=&d1

//A

d1=b1;

//B

Base&refB=d1;

Derivedd2=*pb;

//C

Derived&refD=refB

//Dreturn0;}

答案:

pb=&d1

下列程序中,劃線處正確的語(yǔ)句是()。#includeusingnamespacestd;classBase{public:voidfun(){cout<<”Base::fun”<答案:Base::fun()假設(shè)類(lèi)X以類(lèi)Y作為它的一個(gè)基類(lèi),并且X類(lèi)和Y類(lèi)具有相同格式的函數(shù)func(),obj為類(lèi)X的對(duì)象,則obj.func()語(yǔ)句實(shí)現(xiàn)的功能為()。

答案:

執(zhí)行類(lèi)X的func()

已知B類(lèi)是A類(lèi)的派生類(lèi),且有定義:Aa,*p1;Bb,*p2=&b;,則下列選項(xiàng)中屬于非法操作的是()。

答案:b=a;

下面()的敘述不符合賦值兼容規(guī)則。

答案:

基類(lèi)的對(duì)象可以賦值給派生類(lèi)的對(duì)象帶有虛基類(lèi)的多層派生類(lèi)構(gòu)造函數(shù)的成員初始化列表中都要列出虛基類(lèi)的構(gòu)造函數(shù),這樣將對(duì)虛基類(lèi)的子對(duì)象初始化()。

答案:一次下面虛基類(lèi)的聲明中,正確的是()。

答案:classB:virtualpublicA多繼承的構(gòu)造順序可以分為以下4步:(1)所有非虛基類(lèi)的構(gòu)造函數(shù)按照它們被繼承的順序;(2)所有虛基類(lèi)的構(gòu)造函數(shù)按照它們被繼承的順序;(3)所有子對(duì)象的構(gòu)造函數(shù)按照它們聲明的順序(4)派生類(lèi)自己的構(gòu)造函數(shù)體

答案:(2)(1)(3)(4)

派生類(lèi)的構(gòu)造函數(shù)的成員初始化列表中,不能包含()。

答案:基類(lèi)中子對(duì)象的初始化派生類(lèi)的對(duì)象對(duì)它的基類(lèi)成員中()是可以訪問(wèn)的

答案:公有繼承的公有成員下列對(duì)派生類(lèi)的描述中,錯(cuò)誤的是()。

答案:D.派生類(lèi)只繼承了基類(lèi)的公有成員和保護(hù)成員當(dāng)派生類(lèi)從一個(gè)基類(lèi)保護(hù)繼承時(shí),基類(lèi)中的一些成員在派生類(lèi)中成為保護(hù)成員,這些成員在基類(lèi)中原有的訪問(wèn)屬性是()。

答案:公有或保護(hù)關(guān)于多繼承二義性的描述中,()是錯(cuò)誤的。

答案:基類(lèi)和派生類(lèi)中同時(shí)出現(xiàn)的同名函數(shù),也存在二義性24.[其它]請(qǐng)改正程序中的錯(cuò)誤,使程序的輸出結(jié)果如下:Base0displayBase1displayDeriveddisplay注意:(1)只修改注釋的下一行,不要改動(dòng)程序中的其它內(nèi)容,也不允許增加或刪減語(yǔ)句。

(2)答題時(shí)注明錯(cuò)誤的編號(hào),并寫(xiě)出修改后完整的一行。#includeusingnamespacestd;classBase0{public:/************Errorfound[1]************/voiddisplay(){cout<<”Base0display”<答案:[1]virtualvoiddisplay()const[2]voidfun(Base0&b)[3]fun(b0);fun(b1);fun(d);寫(xiě)程序運(yùn)行結(jié)果#includeusingnamespacestd;classBase{public:virtual~Base(){cout<<”BaseDestructor”<fun();

deletep;return0;}

答案:Derived::funDerivedDestructorBaseDestructorA為抽象類(lèi),輸出為:thisisclassBprintingthisisclassCprinting源程序?yàn)椋?includeusingnamespacestd;classA{public:[1];};classB:publicA{public:voidprintMe(){

[2]

<<"thisisclassBprinting"<答案:virtualvoidprintMe(;cout;A&a下面函數(shù)聲明類(lèi)comp,用友元函數(shù)重載運(yùn)算符"+"。[1]

comp{public:intreal,im

溫馨提示

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

評(píng)論

0/150

提交評(píng)論