面向?qū)ο蟪绦蛟O計智慧樹知到期末考試答案章節(jié)答案2024年青島理工大學_第1頁
面向?qū)ο蟪绦蛟O計智慧樹知到期末考試答案章節(jié)答案2024年青島理工大學_第2頁
面向?qū)ο蟪绦蛟O計智慧樹知到期末考試答案章節(jié)答案2024年青島理工大學_第3頁
面向?qū)ο蟪绦蛟O計智慧樹知到期末考試答案章節(jié)答案2024年青島理工大學_第4頁
面向?qū)ο蟪绦蛟O計智慧樹知到期末考試答案章節(jié)答案2024年青島理工大學_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

面向?qū)ο蟪绦蛟O計智慧樹知到期末考試答案+章節(jié)答案2024年青島理工大學異常也適用類的層次結構,與虛函數(shù)的規(guī)則相同。

答案:錯如果派生類中沒有給出純虛函數(shù)的具體實現(xiàn),這個派生類仍然是一個抽象類。(

答案:對實現(xiàn)動態(tài)多態(tài)的條件之一是繼承關系中必須有同名的虛函數(shù),并且它們是覆蓋關系(即函數(shù)原型相同)(

答案:對函數(shù)形參的作用城是該函數(shù)的函數(shù)體。()

答案:對friend關鍵字表示(

)。

答案:友元cout是(

)的一個對象,處理標準輸出。

答案:osteam按照標識符的要求,(

)符號不能組成標識符。

答案:連接符下列關于C++程序書寫,正確的說法是(

)。

答案:一個語句可分成幾行書寫下列說法錯誤的是(

)。

答案:公有繼承的基類中的private成員在派生類中仍是private的表達式(int)2.1416的值為(

)。

答案:2設intx;,則經(jīng)過(

)后,語句*px=0;可將x值置為0。

答案:int*constpx=&x;假定變量m定義為“intm=7;”,則定義變量p的正確語句為(

)。

答案:int*p=&m;下面有關靜態(tài)成員的描述中,正確的是(

答案:在建立對象前,就可以為靜態(tài)數(shù)據(jù)成員賦值可用作C++語言用戶標識符的一組標識符是(

)。

答案:a3_b3

_123

YNC++和C一樣都是面向?qū)ο蟪绦蛟O計語言。

答案:錯運算符重載實際就是函數(shù)重載,是通過靜態(tài)聯(lián)編實現(xiàn)的,是在編譯時根據(jù)操作數(shù)的類型,決定該運算符的具體含義,即確定具體調(diào)用的哪個函數(shù)。(

答案:對運算符重載后,不論使用成員函數(shù)重載還是使用友元函數(shù)重載,運算符函數(shù)的名字都必須由關鍵字operator加上被重載的運算符構成。(

答案:對與數(shù)據(jù)成員一樣,不同對象的成員函數(shù)分配不同的空間。

答案:錯使用內(nèi)聯(lián)函數(shù)不會增大空間開銷。

答案:錯在有多個函數(shù)和函數(shù)模板名字相同的情況下,編譯器會先找參數(shù)完全匹配的普通函數(shù)(非由模板實例化而得的函數(shù)),再找參數(shù)完全匹配的模板函數(shù),再找實參經(jīng)過自動類型轉(zhuǎn)換后能夠匹配的普通函數(shù),上面的都找不到,則報錯。(

答案:對如果一個類模板包含一個模板友元,類模板可以授權給所有友元模板實例,也可以只授權給特定實例。(

答案:對如果一個函數(shù)沒有返回值,定義時需用void說明。()

答案:對下列對派生類的描述中,(

)是錯誤的。

答案:派生類中繼承的基類成員的訪問權限到派生類保持不變下列for循環(huán)的次數(shù)為(

)。for(inti(0),x=0;!x&&i<=5;i++)

答案:6閱讀下面類模板的定義:templateclassPerson{public:

Person(Tname,intage):m_name(name),m_age(age){}private:

Tm_name;

intm_age;};templateclassDeriveClass:publicPerson{public:

DeriveClass(Tname,intage,T2sex):Person(name,age){

m_sex=sex;

}private:

T2m_sex;};s,age和sex分別是string、int和char類型的參數(shù),則下面定義對象的語句正確的是(

)。

答案:DeriveClassd(s,age,sex);有以下語句structS{

intg;

charh;}T;則下面敘述中不正確的是(

)。

答案:S是struct類型的變量閱讀下面的程序,選出程序運行的結果,體會類模板的靜態(tài)成員函數(shù)和靜態(tài)數(shù)據(jù)成員的用法。(

)#includeusingnamespacestd;templateclassClassX{public:

staticintcount;ClassX(){count++;}

staticintGetCount()

{

returncount;

}};templateintClassX::count=0;intmain(){

ClassX

class1;

ClassX

class2;

class1.count=10;

cout<<class2.GetCount()<

class3;

ClassX

class4;

cout<<class3.GetCount()<答案:10

2

2以下變量x、y、z均為double類型且已正確賦值,不能正確表示數(shù)學式子的C語言表達式是(

)。

答案:x/y*z下面表述錯誤的是(

)。

答案:this指針是字符指針當需要打開A盤上的以xxk.dat文件用于輸入時,則定義文件流對象的語句為(

)。

答案:ifstreamfin(“A:xxk.dat”,ios::nocreate)采用重載函數(shù)的目的是(

)。

答案:使用方便,提高可讀性下列輸出字符“A”的方法中,()是錯誤的。

答案:cout<假定一個類的構造函數(shù)為B(intx,inty){a=x--;b=a*y--;},則執(zhí)行Bx(3,5);語句后,x.a和x.b的值分別為(

答案:3和15假設已經(jīng)定義好了類student,現(xiàn)在要定義類derived,它是從student私有派生的,則定義類derived的正確寫法是(

答案:classderived:privatestudent{

//………….}假定AB為一個類,則(

)為該類的拷貝構造函數(shù)的原型說明。

答案:AB(AB&x);下列(

)是C++語言的有效標識符?

答案:_No1(

)不是面向?qū)ο笙到y(tǒng)所包含的要素。

答案:重載存儲以下數(shù)據(jù),占用存儲字節(jié)最多的是(

)。

答案:0.0下列各運算符中,(

)優(yōu)先級最高。

答案:*(單目)表示“x大于1而小于10”的邏輯表達式是(

)。

答案:x>1&&x<10設置虛基類的目的是(

)。

答案:消除二義性用關鍵字(

)標記的函數(shù)被稱為虛函數(shù)。

答案:virtual所謂多態(tài)性是指(

)。

答案:不同的對象調(diào)用相同名稱的函數(shù)下列關于類概念的描述中,(

)是錯誤的。

答案:類就是C語言中的結構類型下列關于純虛函數(shù)和抽象類的描述中,不正確的是(

)。

答案:可以定義一個抽象類的對象在C++的STL中容器是一種(

)。

答案:標準類模板下列(

)的調(diào)用方式是引用調(diào)用。

答案:形參是引用,實參是變量下列變量名中,(

)是合法的。

答案:CHINA設有以下類的定義:#includeclassA{protected:inta;public:

A(inti=0){a=i;}};classB:publicA{intb;Public:B(inti=0,intj=0):A(j){b=i;}};則下列語句中錯誤的是(

)。

答案:Aa1(8);Ba2=a1;對賦值運算符進行重載時,應聲明為(

)。

答案:類的成員函數(shù)C++語言屬(

)。

答案:面向?qū)ο笳Z言C++是面向?qū)ο蟪绦蛟O計語言。

答案:對C++僅僅是C語言的高版本而已。

答案:錯在一個類中,若將一個數(shù)據(jù)成員說明為static,這種成員稱為靜態(tài)數(shù)據(jù)成員。與一般的數(shù)據(jù)成員不同,無論建立了多少個對象,都只有一個靜態(tài)數(shù)據(jù)的拷貝。(

答案:對流提取運算符“<<”的重載函數(shù)的返回值類型應是ostream對象的引用。(

答案:對在C++中,new操作符可以用來動態(tài)的創(chuàng)建對象和對象數(shù)組?

答案:對靜志生存期的標識符的壽命是短的,而動態(tài)生有期的標識符的壽命是長的。()

答案:錯如果一個類模板包含一個非模板友元,則友元被授權可以訪問該類模板所有的模板實例。(

答案:對如果類的數(shù)據(jù)成員沒有動態(tài)申請的數(shù)據(jù)空間,編程者可以不定義拷貝構造函數(shù)。

答案:對通常缺省的賦值運算符重載函數(shù)是能夠勝任工作的。但是,如果類的數(shù)據(jù)成員中包含指向動態(tài)分配的內(nèi)存的指針成員時,系統(tǒng)提供的默認賦值運算符重載函數(shù)會出現(xiàn)危險,造成指針懸掛。(

答案:對若在創(chuàng)建一個對象時需動態(tài)申請存儲空間,則應定義(

)以實現(xiàn)“深”拷貝。

答案:拷貝構造函數(shù)以下程序的運行結果是()。#includeusingnamespacestd;voidf(intx,inty){intt;if(xintmain(){inta=4,b=3,c=5;f(a,b);f(a,c);f(b,c);cout答案:4,3,5對類的構造函數(shù)和析構函數(shù)描述正確的是()。

答案:構造函數(shù)可以重載,析構函數(shù)不能重載有以下程序:#include

using

namespace

std;int

main(

){

int

i,s=0;

for(i=1;i<10;i+=2)

s+=i;cout<答案:自然數(shù)1~9中的奇數(shù)之和下面不正確的字符串常量是(

)。

答案:’abc’C++語言程序的執(zhí)行,總是起始于(

)。

答案:main函數(shù)下列的模板說明中,正確的是(

)。

答案:template<classT1,classT2>在inta=3;*p=&a;中,*p的值是(

)。

答案:3下列關于read(

)函數(shù)的描述中,(

)是對的。

答案:該函數(shù)只能按照規(guī)定讀取所指定的字符串;C++語言本身沒有定義I/O操作,但I/O操作包含在C++實現(xiàn)中。C++標準庫iostream.h提供了基本結構。I/O操作分別由兩個類istream和(

)。

答案:ostreamC++程序從上機到得到結果的幾個操作步驟依次是(

)。

答案:編輯、編譯、連接、運行在C++STL中算法是一種(

)。

答案:函數(shù)模板關于封裝,下列說法中不正確的是(

)。

答案:通過封裝,對象的屬性都是不可見的為了提高程序的運行速度,可將不太復雜的功能用函數(shù)實現(xiàn),此函數(shù)應選擇(

)。

答案:內(nèi)聯(lián)函數(shù)C++語言本身沒有定義I/O操作,但I/O操作包含在C++實現(xiàn)中。C++標準庫iostream.h提供了基本結構。I/O操作分別由兩個類istream和(

)。

答案:ostream以下說法中正確的是(

)。

答案:C++程序總是從main函數(shù)開始執(zhí)行在C++中,要實現(xiàn)動態(tài)聯(lián)編,必須使用(

)調(diào)用虛函數(shù)。

答案:基類指針或基類引用下列定義中,(

)是定義指向數(shù)組的指針p。

答案:int*p[5]關于對象和類的關系,說法正確的是(

)。

答案:同一類的不同對象,其具有的操作可不同,具體的操作也不同。能作為C++程序的基本單位是(

)。

答案:函數(shù)以下代碼運行結果是(

)。#includeusingnamespacestd;classB{};classD:publicB{};

intmain()

{

Dderived;

try

{throwderived;}

catch(Bb)

{cout<<'Catchabaseclass';}

catch(Dd){cout<<'CatchaDerivedclass';}

return0;}

答案:Catchabaseclass在函數(shù)說明時,下列哪一項是不必要的?(

答案:參數(shù)名字類模板參數(shù)可以有缺省實參,給參數(shù)提供缺省實參的順序是從左向右。(

答案:錯構造函數(shù)和析構函數(shù)不可以被繼承。

答案:對int*buffer=newint[256]是分配256個字節(jié)。

答案:錯當需要實例化類模板時,必須為非類型參數(shù)顯式提供一個編譯時常數(shù)值。(

答案:對deque容器是順序容器的一種,容器中的元素在內(nèi)存中連續(xù)順序存放,可以隨機存取任何元素,而且在頭尾插入和刪除都能在常數(shù)時間內(nèi)完成。(

答案:對對于任意類ClassX,如果沒有用戶自定義的賦值運算符,那么系統(tǒng)會自動的為其生成缺省的賦值運算符重載函數(shù),實現(xiàn)類ClassX的兩個對象的賦值,即將一個對象的數(shù)據(jù)成員的值逐個賦值給另一個對象的對應數(shù)據(jù)成員。(

答案:對一個對象在創(chuàng)建時一定會自動調(diào)用構造函數(shù)。

答案:對list容器是一個雙向鏈表,容器中每個元素中都有一個指針指向后繼元素,也有一個指針指向前驅(qū)元素(

答案:對假定AB為一個類,則執(zhí)行“ABa(2),b[3],*p[4];”語句時調(diào)用該類構造函數(shù)的次數(shù)為()。

答案:4設voidf1(int*m,long&n);inta;longb;則以下調(diào)用合法的是(

)。

答案:f1(&a,b);在C++中,char類型數(shù)據(jù)在內(nèi)存的存儲形式是(

)。

答案:ASCII碼重載運算符的實質(zhì)是函數(shù)調(diào)用,如果classA類將前置單目運算符“++”重載為其友元函數(shù),c是classA類的對象,則執(zhí)行c++,則相當于執(zhí)行了哪個函數(shù)(

)。

答案:operator++(c,0);下列關于對象概念的描述中,(

)是錯誤的。

答案:對象是一個狀態(tài)和操作(或方法)的封裝體(

)能正確輸出結果:C++。

答案:chars[]='C++';cout<假設有函數(shù)模板定義如下:templateAdd(Ta,Tb,T&c)

{

c=a+b;

}

下列選項正確的是(

)。

答案:doublex,y,z;

Add(x,y,z);在下列double型常量表示中,(

)是錯誤的。

答案:E15;在C++中,關于下列設置參數(shù)默認值的描述中,正確的是()。

答案:設置參數(shù)默認值時,應該全部參數(shù)都設置下列符號中,可以作為變量名的是(

)。

答案:a3BC++源程序擴展名是()。

答案:.cpp在類模板定義的外面定義一個成員函數(shù)模板時,需要在前面加上template及模板參數(shù)表。(

答案:對賦值運算符只能作為成員函數(shù)進行重載,而不能作為友元函數(shù)重載。(

答案:對在面向?qū)ο蟪绦蛟O計里,由文件獲得數(shù)據(jù)稱作“由文件重構對象”。

答案:對多態(tài)是通過綁定實現(xiàn)的。一個源程序需要經(jīng)過編譯、連接才能形成可執(zhí)行的文件,在這個過程中要把函數(shù)名(標識符)和它要調(diào)用的函數(shù)的內(nèi)存地址連接在一起,這個過程被稱為綁定又叫做聯(lián)編。(

答案:對new分配的內(nèi)存都有類型信息。

答案:對以下關于私有和保護成員的敘述中,不正確的是(

)。

答案:私有成員不能被外界引用,保護成員可以定義char*p=”abcd”,能輸出p的值的語句為(

)。

答案:cout<下面有關構造函數(shù)的描述中,正確的是(

)。

答案:構造函數(shù)的名字與類名完全相同使用虛函數(shù)保證了在通過一個基類類型的指針(含引用)調(diào)用一個虛函數(shù)時,C++系統(tǒng)對該調(diào)用進行(

)。

答案:動態(tài)聯(lián)編結構化程序設計所規(guī)定的三種基本控制結構是(

)。

答案:順序、選擇、循環(huán)構造函數(shù)是在(

)時被執(zhí)行的。

答案:創(chuàng)建對象C++類體系中,不能被派生類繼承的有(

)。

答案:構造函數(shù)以下關于函數(shù)模板敘述正確的是(

)。

答案:通過使用不同的類型參數(shù),函數(shù)模板可以生成不同類型的函數(shù)從程序片斷:charname[]="C++";course(name);可判斷函數(shù)course的調(diào)用采用的是(

答案:傳址調(diào)用下列語句中,new運算符用法錯誤的是(

)。

答案:string*ps=newstring(10);關于結構化程序設計方法說法錯誤的是(

)。

答案:數(shù)據(jù)和處理數(shù)據(jù)的過程代碼是分離的、相互獨立的實體。假定一個字符串的長度為n,則定義存儲該字符串的字符數(shù)組的長度至少為(

)。

答案:n+1下面的標識符中,(

)是文件級作用域。

答案:外部靜態(tài)類標識符C++程序從上機到得到結果的幾個操作步驟依次是(

)。

答案:編輯、編譯、連接、運行派生類還可以作基類派生出新的派生類。

答案:對抽象類只能作為其他類的基類,不允許聲明抽象類的對象,也不可以聲明抽象類的指針或引用。(

答案:錯內(nèi)部靜態(tài)類變量與自動類變量作用城相同,但是生存期不同。()

答案:對異常處理中,如果沒有匹配所拋出的對象類型的catch語句塊,這時系統(tǒng)調(diào)用默認abort函數(shù)終止程序。

答案:對當在try塊中拋出異常后,程序最后將回到try塊。

答案:錯閱讀下面的程序,體會類模板的友元的概念,選出程序運行的結果(

)。#include#includeusingnamespacestd;templateclassclassA{public:

classA(Tx=10,Ty=10):x(x),y(y){}

template

friendclassclassB;private:

Tx;

Ty;};templateclassclassB{public:

classB(Qsum):sum(sum){}

voidcalcSum(constclassA“&my)

{

sum+=my.x+my.y;

}

template

friendostream&operator<<(ostream&out,classB&run);private:

Qsum;};templateostream&operator<<(ostream&out,classB&run){

cout<my1;

classAmy2;

classBrun1(0);

run1.calcSum(my1);

run1.calcSum(my2);

cout<答案:40”下列字符列中,可作為C++語言程序自定義標識符是(

)。

答案:file在ios類中有3個成員函數(shù)可以對狀態(tài)標志進行操作,(

)函數(shù)是用來設置狀態(tài)標志的函數(shù)。

答案:longios::flags()設有定義:intn=0,*p=&n,**q=&p;則以下選項中,正確的賦值語句是(

)。

答案:*p=5;C++程序中的語句必須以(

)結束。

答案:分號values是list<double>類的容器,下面哪個操作是不合法的?(

答案:cout<<values[i];使用派生類的主要原因是(

答案:提高代碼的可重用性設有基類定義:classbase{

private:inta;

protected:intb;

public:intc;};派生類采用何種繼承方式可以使成員變量c能被派生類的對象訪問(

)。

答案:公有繼承在C++語言中,函數(shù)值類型的定義可以是默認類型,此時函數(shù)值的默認類型是(

)。

答案:int下述關于break語句的描述中,(

)是正確的。

答案:break語句可用于if體內(nèi),它將退出if語句。程序中主函數(shù)的名字為(

)。

答案:main下面的哪個保留字不能作為函數(shù)的返回類型?(

)。

答案:new下列存儲類標識符中,要求通過函數(shù)來實現(xiàn)一種不太復雜的功能,并且要求加快執(zhí)行速度,選用(

)合適。

答案:內(nèi)聯(lián)函數(shù)關于成員函數(shù)特征的下列描述中,(

)是錯誤的。

答案:成員函數(shù)一定是內(nèi)聯(lián)函數(shù);下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的是(

答案:靜態(tài)數(shù)據(jù)成員是類的所有對象共享的數(shù)據(jù)文件的打開方式分為創(chuàng)建文件流對象模式和使用open函數(shù)模式。

答案:對內(nèi)聯(lián)函數(shù)中不可以包括復雜語句,如switch及循環(huán)語句等。

答案:對返回值類型、參數(shù)個數(shù)和類型都相同的函數(shù)也可以重載。()

答案:錯虛函數(shù)表是在程序運行階段建立的。(

答案:錯構造函數(shù)可以重載是構造函數(shù)的特征。

答案:對list容器的最大優(yōu)點就是插入或刪除列表中元素時無需移動其他元素的存儲位置,時間效率高。(

答案:對<模板參數(shù)表>中包含一個或多個用逗號分開的模板參數(shù)項,每一項由關鍵字typename或class開始。(

答案:對下標操作符[]通常用于訪問數(shù)組元素。重載該運算符用于增強操作C++數(shù)組的功能。(

答案:對下標運算符“[]”不能被重載為類的友元函數(shù),只能被重載為類的成員函數(shù)。(

答案:對下面的程序輸出結果是什么?#includeusingnamespacestd;intmain(){staticinta[]={1,2.4};for(inti=0;i<(sizeof(a)/sizeof(int));i++)cout<答案:12假設OneClass為一個類,則該類的拷貝構造函數(shù)的聲明語句為(

)。

答案:OneClass(OneClass&p);按解釋中的要求在下列程序劃線處填入的正確語句是:(

)#includeclassBase{public:voidfun(){cout<<'Base::fun'<答案:Base::fun();有以下程序#include

usingnamespacestd;intmain(){int

a,b,d=25;a=d/10%9;b=a-1;cout<答案:2,1有以下程序#includeusingnamespacestd;intmain(){charstr[]='ChinaBeijing',*p=str;cout<答案:ng能正確表示邏輯關系“a≥=10或a≤0”的C語言表達式是(

)。

答案:a>=10‖a<=0有以下程序#includeusingnamespacestd;intmain(){

char*p[10]={"abc","aabdfg","dcdbe","abbd","cd"};cout<答案:abbd數(shù)字字符0的ASCII值為48,若有以下程序#includeusingnamespacestd;intmain(){

char

a='1',b='2';cout<答案:2

2設有如下程序:#includeclassA{

public:

inti;

display(){cout<<”classA”;}};classB{public:

inti;

display(){cout<<”classB”;}};classC:public:A,publicB{

intj;public:

inti;show(){j=i*i;display();}};voidmain(){

Cdemo;demo.show();}主程序運行時將(

)。

答案:因類定義的語法錯而不能運行在派生類中,重定義一個虛函數(shù)時,要求函數(shù)名、參數(shù)的個數(shù)、參數(shù)的類型、參數(shù)的順序和函數(shù)的返回值(

)。

答案:全部相同在C++中繼承方式有幾種(

答案:3若一個類中含有純虛函數(shù),則該類稱為(

)。

答案:抽象類在程序代碼:A::A(inta,int*b){this->x=a;this->y=b;}中,this的類型是(

)。

答案:A*一個算法應該具有“確定性”等5個特性,對另外4個特性的描述中錯誤的是(

)。

答案:可行性假定AB為一個類,則執(zhí)行ABx;語句時將自動調(diào)用該類的(

答案:無參構造函數(shù)下列哪項(

)不是面向?qū)ο蟪绦蛟O計的主要特征?

答案:結構運算符+、<=、=、%中,優(yōu)先級最低的運算符是(

)。

答案:=在派生類中,重載一個虛函數(shù)時,要求函數(shù)名、參數(shù)的個數(shù)、參數(shù)的類型、參數(shù)的順序和函數(shù)的返回值(

)。

答案:全部相同不能作為函數(shù)重載判斷的依據(jù)的是(

答案:返回類型cin是(

)的一個對象,處理標準輸入。

答案:isteamC++與C語言相比(

)。

答案:更靈活更先進在聲明類時,下面的說法正確的是(

)。

答案:private,public,protected可以按任意順序出現(xiàn)下列存儲類標識符中,(

)的可見性與存在性不一值。

答案:內(nèi)部靜態(tài)類;假設在程序中a、b、c均被定義成整型,所賦的值都大于1,則下列能正確表示代數(shù)式的表達式是(

)。

答案:1.0/a/b/c程序運行中需要從鍵盤上輸入多于一個數(shù)據(jù)時,各數(shù)據(jù)之間應使用(

)符號作為分隔符。

答案:空格或回車下列關于虛函數(shù)的說明中,正確的是(

)。

答案:虛函數(shù)不得是靜態(tài)成員函數(shù)。以下4個選項中,不能看作一條語句的是()。

答案:a=0,b=0,c=0;關于靜態(tài)成員的描述中,(

)是錯誤的。

答案:靜態(tài)數(shù)據(jù)成員定義后必須在類體內(nèi)進行初始化。關于getline()函數(shù)的下列描述中,(

)是錯誤的。

答案:該函數(shù)中所使用的終止符只能是換行符;若有語句“inta[10],x,*p=a;”,若要把數(shù)組a中下標為3的元素值賦給x,則不正確的語句為(

)。

答案:x=p[3];關于delete和delete[]

下列描述中,(

)是錯誤的。

答案:對一個指針可以使用多次delete運算符;下列各運算符中,(

)優(yōu)先級最低。

答案:?:下面有關友元函數(shù)的描述中,正確的說法是(

答案:友元函數(shù)是獨立于當前類的外部函數(shù)下列有關重載函數(shù)的說法中正確的是()。

答案:重載函數(shù)必須有不同的形參列表在一個被調(diào)用函數(shù)中,關于return語句使用的描述,(

)是錯誤的。

答案:被調(diào)用函數(shù)中,一個return語句可返回多個值給調(diào)用函數(shù)。復合語句應用(

)括起來。

答案:大括號用已有對象初始化新建對象時須調(diào)用(

)。

答案:拷貝構造函數(shù)若要用派生類的對象訪問基類的保護成員,以下觀點正確的是(

)。

答案:可采用公有繼承使用派生類的主要原因是(

)。

答案:提高代碼的可重用性預處理命令在程序中都是以(

)符號開頭的。

答案:下列關于C++函數(shù)的說明中正確的是(

)。

答案:編譯器會根據(jù)函數(shù)的返回值類型和參數(shù)表來區(qū)分函數(shù)的不同重載形式。派生類的構造函數(shù)的成員初始化列中,不能包含(

)。

答案:基類的子對象初始化;下列各種函數(shù)中,(

)不是類的成員函數(shù)。

答案:友元函數(shù)deletep表示釋放p所占用的空間。

答案:錯類模板可以派生類模板,這時,派生類模板的參數(shù)表中應包含基類模板的參數(shù)。(

答案:對標準模板庫STL是C++標準支持的類模板和函數(shù)模板的集合,通過提供模板機制和包含通用算法,支持泛型程序設計,極大的提高了代碼的可重用性,提高了程序開發(fā)的效率。(

答案:對順序容器中的元素在容器中的位置同元素的值無關,也就是說容器中的元素不是排序的。(

答案:對程序的錯誤可以分為邏輯錯誤和語法錯誤。

答案:錯重載函數(shù)在編譯時表現(xiàn)出多態(tài)性,就是靜態(tài)聯(lián)編;而虛函數(shù)則在運行時表現(xiàn)出多態(tài)性是動態(tài)聯(lián)編(

答案:對從流中取得數(shù)據(jù)稱為提取操作,用符號<答案:錯在一個成員初始化列表中同時出現(xiàn)對虛基類和非虛基類構造函數(shù)的調(diào)用時,虛基類的構造函數(shù)在非虛基類的構造函數(shù)之后執(zhí)行。

答案:錯在設置了參數(shù)的默認值后,調(diào)用函數(shù)的對應實參就必須省略。(

)

答案:錯使用內(nèi)聯(lián)函數(shù)是以犧牲增大空間開銷為代價的。()

答案:對有以下程序段inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a,b;b=p[5];b中的值是(

)。

答案:6以下有關類與結構體的敘述不正確的是(

)。

答案:用struct不能聲明一個類型名;而class可以聲明一個類名類MyA的拷貝構造函數(shù)的原型是(

答案:MyA(MyA&)若有以下定義,則說法錯誤的是(

)。inta=100,*p=&a;

答案:變量p的值為100假設所有變量均為整型,則表達式(a=5,b=2,a++,a+b)的值是(

答案:8x=y=z=1;t=++x||++y&&++z;

答案:1類的析構函數(shù)的作用是(

)。

答案:刪除對象設整型變量a值為9,則下列表達式中使b的值不為4的表達式(

)。

答案:b=a%2以下程序的輸出結果是(

)。voidswap1(constintc[]){

intt;t=c[0];c[0]=c[1];c[1]=t;}voidswap2(intc0,intc1){

intt;t=c0;c0=c1;c1=t;}intmain(){inta[2]={3,5},b[2]={3,5};swap1(a);swap2(b[0],b[1]);cout<答案:編譯錯誤假設有模板定義如下:templateTMin(Tm1,Tm2){return(m1}下面哪個模板的不是上面模板的重載?()

答案:templatefloatMin(Tm1,Tm2){return(m1}設有以下類的定義:#includeclassA{protected:inta;public:

A(inti=0){a=i;}

intGeta(){returna;}};classB:publicA{Aa1;Public:

//B類構造函數(shù)的定義voidShow()

{cout<答案:B(inti=0,intj=0):A(i),A(j){}類MyClass的定義如下:classMyClass{intvalue;public:MyClass(){value=0;}SetVariable(inti){value=i;}};則對下列語句序列正確的描述是()。MyClass*p,my;p=&my;

答案:語句p->SetVariable(5);與語句my.SetVariable(5);等價以下敘述中不正確的是(

)。

答案:一個類中可以有多個構造函數(shù)、多個析構函數(shù)有如下程序:執(zhí)行后的輸出結果應該是:(

)#includeclassA{public:A(){cout<<'A';}};classC:publicA{public:C(){cout<<'C';}};voidmain(){Ccobj;}

答案:AC以下程序代碼的執(zhí)行結果是(

)。intmain()

{

inti;

for(i='A';i<'I';i++,i++)

cout<答案:aceg拷貝構造函數(shù)具有的下列特點中,(

)是錯誤的。

答案:拷貝構造函數(shù)的名字不能用類名下列程序的輸出結果是(

)。#includeusingnamespacestd;intmain(){inti=1;cout<<++i<<i++<<i<<i++<<++i<<endl;return0;}

答案:23345以下程序的運行結果是(

)。#include"iostream"usingnamespacestd;intfunc(inta,intb){return(a+b);}intmain(){intx=2,y=5,z=7,r;r=func(func(x,y),z);cout<答案:14設有intx=11,則表達式(x++*1/3)的值是(

)。

答案:3下面(

)項是對構造函數(shù)和析構函數(shù)的正確定義。

答案:X::X(參數(shù)),

X::~X()重載運算符的實質(zhì)是函數(shù)調(diào)用,如果在類classA上將運算符“+”重載為其成員函數(shù),c1和c2是classA類的對象,那么執(zhí)行c1+c2,則相當于執(zhí)行了哪個函數(shù)(

)。

答案:c1.operator+(c2);要求打開文件D:\file.dat,并能夠?qū)懭霐?shù)據(jù),正確的語句是(

)。

答案:fstreaminfile("D\file.dat",ios::in|ios::out);關于對象概念的描述中,(

)是錯誤的。

答案:對象就是C語言中的結構變量;要進行文件的輸出,除了包含頭文件iostream外,還要包含頭文件(

)。

答案:fstreamios類中有些成員函數(shù)可以對狀態(tài)標志進行操作,(

)函數(shù)是用來將參數(shù)指定的標志位設為1。

答案:longios::setf(longflags)若定義cin>>str;當輸入ObjectWindowsProgramming!,所得的結果是(

答案:str=Object派生類不能訪問基類中的哪些成員?(

答案:公有繼承的私有成員;如果表達式++a中的“++”是作為成員函數(shù)重載的運算符,若采用運算符函數(shù)調(diào)用格式,則可表示為(

)。

答案:a.operator++()實現(xiàn)運行時的多態(tài)性用(

)。

答案:虛函數(shù)通常,拷貝構造函數(shù)的參數(shù)是(

答案:某個對象的引用名下列(

)是正確的語句。

答案:;以下敘述中錯誤的是(

)。

答案:用戶所定義的標識符允許使用關鍵字(

)不是構造函數(shù)的特征。

答案:構造函數(shù)必須指定類型說明。關于類的靜態(tài)成員函數(shù)描述錯誤的是(

)。

答案:在創(chuàng)建對象前不存在最初的計算機編程語言是(

答案:機器語言在私有繼承的情況下,基類的公有成員在派生類對象中的訪問權限(

)。

答案:受限制從一個文件中讀一個字節(jié)存于charc;正確的語句為(

)。

答案:file.read((char*)&c,sizeof(c));下列屬于動態(tài)多態(tài)的是(

)。

答案:虛函數(shù);關于保護繼承的說法正確的是(

)。

答案:基類的公有成員、保護成員可被子類繼承下來,而且性質(zhì)都改變?yōu)楸Wo成員,私有成員不被繼承。建立類模板對象的實例化過程為(

)。

答案:類模板—模板類—對象關于getline()函數(shù)的下列描述中,(

)是錯誤的。

答案:該函數(shù)中所使用的終止符只能是換行符。如果類A被說明成類B的友元,則(

)。

答案:類B不一定是類A的友元。下列有關重載函數(shù)的說法中正確的是(

)。

答案:重載函數(shù)必須有不同的形參列表下列給字符數(shù)組進行初始化中,(

)是正確的。

答案:chars1[]='12345abcd';一個類可包含析構函數(shù)的個數(shù)是(

)。

答案:1個下列關于析構函數(shù)描述正確的是(

)。

答案:不能指定返回類型在C++中,關于下列設置默認參數(shù)的描述中,(

)是正確的。

答案:設置參數(shù)默認值時,應該是先設置右邊的再設置左邊的。關于內(nèi)聯(lián)函數(shù)說法錯誤的是(

)。

答案:遞歸函數(shù)可以被用來作為內(nèi)聯(lián)函數(shù)。下列有關類的說法不正確的是(

)。

答案:一個類只能有一個對象以下語句或語句組中,能正確進行字符串賦值的是(

)。

答案:char*sp='right!';以下選項中,(

)是不正確的字符常量。

答案:'a'values是deque<double>類的容器,下面哪個操作是不合法的?(

答案:values.push_back('a');在哪種派生方式中,派生類可以訪問基類中的protected成員(

)。

答案:public和protected在傳值調(diào)用中,要求(

)。

答案:形參和實參對應的類型一致,個數(shù)相等;關于繼承中二義性的描述中(

)是錯誤的。

答案:基類和派生類中同時出現(xiàn)的同名函數(shù),也存在二義性問題函數(shù)重載是指(

)。

答案:兩個或兩個以上的函數(shù)取相同的函數(shù)名,但形參的個數(shù)或類型不同語句cout<<"a\bre'hi'you";的輸出結果是(

)。提示,\b是退格符。

答案:re'hi'you在下面有關析構函數(shù)特征的描述中,正確的是(

)。

答案:析構函數(shù)不能指定返回類型友元的作用之一是(

答案:提高程序的運行效率cin是(

)的一個對象,處理標準輸入。

答案:isteam關于類模板,描述錯誤的是(

)。

答案:根據(jù)建立對象時的實際數(shù)據(jù)類型,編譯器把類模板實例化為模板類對于int*pa[5];的描述,(

)是正確的。

答案:pa是一個具有5個元素的指針數(shù)組,每個元素是一個int型指針;在公有繼承的情況下,基類的成員(私有的除外)在派生類中的訪問權限(

)。

答案:保持不變適宜采用inline定義函數(shù)情況是()。

答案:函數(shù)代碼少、頻繁調(diào)用下述敘述正確的是(

)。

答案:字符數(shù)據(jù)內(nèi)存中存放的是整數(shù)值當一個函數(shù)無返回值時,定義它是函數(shù)的類型應是(

)。

答案:void對象之間的相互作用和通信是通過消息。下列哪項不是消息的組成部分(

答案:要執(zhí)行的函數(shù)的內(nèi)部結構下列的各類函數(shù)中,(

)不是類的成員函數(shù)。

答案:友元函數(shù)如果從原有類定義新類可以實現(xiàn)的是()。

答案:繼承機制循環(huán)while(inti=0)i--;執(zhí)行次數(shù)是(

)。

答案:0當問題出現(xiàn)時,程序會拋出一個異常。這是通過使用

catch關鍵字來完成的。

答案:錯析構函數(shù)不能拋出異常。

答案:對try

塊中的代碼標識將被激活的特定異常,它后面通只能跟著一個catch塊。

答案:錯C++通過throw語句和try...catch語句實現(xiàn)對異常的處理。

答案:對函數(shù)參數(shù)和異常對象都有的傳遞方式方式是(

)。

答案:指針傳遞###引用傳遞###值傳遞要在C++中進行文件處理,必須在C++源代碼文件中包含頭文件和。

答案:對將一個字符charc=’A’寫到文件中錯誤的語句為(

)。

答案:file.write((constchar*)c,sizeof(c));###file.write(c,sizeof(c));下面關于C++輸入輸出的說法正確的是(

答案:C++通過一種稱為流的機制提供了輸入和輸出方法;###流是一種靈活且面向?qū)ο蟮腎/O方法;cout是(

)的一個對象,處理標準輸出。

答案:ostream設己定義浮點型變量data,按data在內(nèi)存中的表示原樣輸出到顯示器上,正確的語句是(

)。

答案:cout.write((char*)&data,sizeof(double));在C++中,用getline函數(shù)讀取string對象時(

)。

答案:讀取字符直至遇到換行符,如果第一個字符是換行符,則返回空string;執(zhí)行以下程序:char*str;cin>>str;cout<答案:輸出亂碼或出錯當使用ifstream定義一個文件流,并將一個打開文件的文件與之連接,文件默認的打開方式為(

)。

答案:ios::in函數(shù)模板中可以有不止一個類型參數(shù),每一個類型參數(shù)前面都要加typename或class來說明。(

答案:對函數(shù)模板實例化時,沒有普通傳值參數(shù)的類型轉(zhuǎn)換機制。(

答案:對下面是類模板的定義語句templateclassClassX{

};x,y,z分別是char、double、float類型的變量,則下面定義對象的語句哪一個是錯誤的?()

答案:ClassXobj;把通過函數(shù)模板按實際類型生成的函數(shù)稱為模板函數(shù),這個過程稱為實例化。編譯程序?qū)嵗蟮哪0搴瘮?shù)自動生成目標代碼。(

答案:對編譯器會選擇實參經(jīng)過自動類型轉(zhuǎn)換后能夠匹配的模板函數(shù)進行匹配。(

答案:錯下面vector容器的定義不正確的是(

答案:vectorv;下面定義類模板模板參數(shù)的定義語句錯誤的是(

)。

答案:template關于函數(shù)模板,描述錯誤的是(

)。

答案:函數(shù)模板必須由程序員實例化為可執(zhí)行的模板函數(shù)類模板templateclassX{

},其中,函數(shù)模板f定義為該類模板實例化的每個模板類的友元,則其說明應為(

)。

答案:template

friendvoidf(X&);順序容器(vector,list,deque)中,能通過pop_front()刪除最前面的元素的是(

)。

答案:vector,deque假設有函數(shù)模板定義如下:templateintMin(T*a,intsize){Ttemp=a[0];intj=0;for(inti=1;iif(a[i]temp=a[i];j=i;}returnj+1;}假設ArrayX已定義為float型的數(shù)組,則求該數(shù)組前10個元素中最小元素的位置的語句為()。

答案:Min(ArrayX,10);以下類模板、模板類、普通類之間的派生方式正確的是(

答案:從普通類派生出類模板###從模板類派生出類模板###從模板類派生出普通類###從類模板派生出新的類模板類模板Array的模板參數(shù)定義如下:template則下面哪個對象的定義是錯誤的?(

答案:Arraya;下面的說法錯誤的是(

)。

答案:函數(shù)模板和類模板的實例化的過程是通過動態(tài)聯(lián)編實現(xiàn)的。當派生類的對象從內(nèi)存中撤銷時一般先調(diào)用派生類的析構函數(shù),然后再調(diào)用基類的析構函數(shù)。(

答案:對當一個類有子類時,該類的析構函數(shù)必須是虛函數(shù),否則子類的析構函數(shù)不會被調(diào)用,使得子類對象被撤銷之前動態(tài)申請的資源沒有被釋放,造成內(nèi)存泄漏。(

答案:對析構函數(shù)的作用是在對象撤銷之前做必要的“清理現(xiàn)場”的工作。(

答案:對下列屬于動態(tài)多態(tài)的是(

)。

答案:虛函數(shù)operator運算符就是運算符重載函數(shù)的函數(shù)名,比如:operator+就是函數(shù)名。(

答案:對重載之后的運算符可以改變運算符的優(yōu)先級和結合性,也能改變運算符操作數(shù)的個數(shù)及語法結構。(

答案:錯當編譯器在編譯程序的過程中看到某個類中有虛函數(shù)的標志時,就會為這個類的實際對象創(chuàng)建一個指針即虛函數(shù)表指針vtbl,以指向類中的虛函數(shù)表。虛函數(shù)表里包含了所有的虛函數(shù)代碼的地址,以NULL結束。虛函數(shù)如果在派生類被重寫,就由派生類重寫的虛函數(shù)地址來代替。(

答案:對重載運算符限制在C++語言中已有的運算符范圍內(nèi)的允許重載的運算符之中,不能創(chuàng)建新的運算符。(

答案:對有虛函數(shù)的類,其對象的空間比沒有虛函數(shù)的類多了一個指針的空間,這個指針就是指向虛函數(shù)表的指針。(

答案:對基類中定義的虛函數(shù)為整個類族提供了一個通用的框架,說明了一般類所應該具有的行為,派生類根據(jù)自己的情況給出自己的定義,即對基類中定義的虛函數(shù)進行重定義。(

答案:對C++中的虛函數(shù)的作用主要是實現(xiàn)了多態(tài)機制,即父類類別的指針(或者引用)指向其子類的實例,然后通過父類的指針(或者引用)調(diào)用實際子類的成員函數(shù)。多態(tài)機制可以簡單地概括為“一個接口,多種方法”。(

答案:對雙目運算符重載為友元函數(shù)時有兩個參數(shù)即運算符的兩個操作數(shù),而重載為成員函數(shù)時只有一個參數(shù),即運算符的第二個操作數(shù)(

)。

答案:對構造函數(shù)可以定義為虛函數(shù),析構函數(shù)不可以定義為虛函數(shù)。(

答案:錯運算符重載為類的成員函數(shù)和重載為友元函數(shù)不同的是,重載為成員函數(shù)時聲明和定義中省略了第一個參數(shù),因為成員函數(shù)總是與對象捆綁使用的,被捆綁的對象就是被操作的第一參數(shù)。(

答案:對如果派生類的成員函數(shù)的原型與基類中被定義為虛函數(shù)的成員函數(shù)原型相同,那么,這個函數(shù)自動繼承基類中虛函數(shù)的特性。

答案:對下面敘述不正確的是()。

答案:基類的公有成員在派生類中仍然是公有的假設ClassY:publicX,即類Y是類X的派生類,則說明一個Y類的對象時和刪除Y類對象時,調(diào)用構造函數(shù)和析構函數(shù)的次序分別為()。

答案:X,Y;Y,X以下基類中的成員函數(shù)表示純虛函數(shù)的是()。

答案:virtualvoidtt()=0對基類和派生類的關系描述中,錯誤的是()。

答案:基類繼承了派生類的屬性在公有派生類的成員函數(shù)不能直接訪問基類中繼承來的某個成員,則該成員一定是基類中的()。

答案:私有成員關于this指針使用說法正確的是()。

答案:保證每個對象擁有自己的數(shù)據(jù)成員,但共享處理這些數(shù)據(jù)的代碼拷貝構造函數(shù)創(chuàng)建對象時,使用已經(jīng)存在的同類對象來進行初始化,由編譯器自動調(diào)用。

答案:對拷貝構造函數(shù),是一種特殊的構造函數(shù),它在創(chuàng)建對象時,是使用同一類中之前創(chuàng)建的對象來初始化新創(chuàng)建的對象。

答案:對如果一個對象被聲明為常對象,則不能調(diào)用該對象的非const型的成員函數(shù)(除了由系統(tǒng)自動調(diào)用的隱式構造函數(shù)和析構函數(shù))。

答案:對this指針存在于類的成員函數(shù)中,指向被調(diào)用函數(shù)所在的類實例的地址。

答案:對下列不能作為類的成員的是(

)。

答案:自身類對象在類中說明的成員可以使用關鍵字的是(

)。

答案:public所謂數(shù)據(jù)封裝就是將一組數(shù)據(jù)和與這組數(shù)據(jù)有關操作組裝在一起,形成一個實體,這實體也就是(

)。

答案:類下面程序輸出結果是(

)。#includeusingnamespa

溫馨提示

  • 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

提交評論