C++程序設計知識點實例解析智慧樹知到期末考試答案章節(jié)答案2024年青島大學_第1頁
C++程序設計知識點實例解析智慧樹知到期末考試答案章節(jié)答案2024年青島大學_第2頁
C++程序設計知識點實例解析智慧樹知到期末考試答案章節(jié)答案2024年青島大學_第3頁
C++程序設計知識點實例解析智慧樹知到期末考試答案章節(jié)答案2024年青島大學_第4頁
C++程序設計知識點實例解析智慧樹知到期末考試答案章節(jié)答案2024年青島大學_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

C++程序設計知識點實例解析智慧樹知到期末考試答案+章節(jié)答案2024年青島大學基類中的私有數(shù)據(jù)成員在其公有派生類中,可以被直接訪問。()

答案:錯函數(shù)聲明:intarea(intlen=1,intwid=1);和函數(shù)聲明floatarea(floatr=1);兩個函數(shù)互為重載函數(shù)。()

答案:對友元函數(shù)跟類的成員函數(shù)一樣,都隱含有this指針,自動指向當前對象。()

答案:錯設置虛基類的目的是解決二義性問題,通過關鍵字virtual表示虛基類。()

答案:對繼承是面向?qū)ο蟪绦蛟O計實現(xiàn)軟件重用的重要方法。()

答案:對派生類的成員可以直接訪問基類的私有成員。()

答案:錯C++語言是既支持面向?qū)ο蟮某绦蛟O計又支持面向過程的程序設計的混合型語言。()

答案:對析構函數(shù)和構造函數(shù)都可以重載。()

答案:錯類的繼承關系中,派生類繼承了基類的所有成員,包括基類的析構函數(shù)和構造函數(shù)。()

答案:錯C++中字符串類型屬于基本數(shù)據(jù)類型,string是C++關鍵字,因此在程序中可以直接使用string聲明變量。()

答案:錯抽象類除了可以產(chǎn)生新的派生類,還可以直接創(chuàng)建抽象類對象。()

答案:錯析構函數(shù)的作用并不是刪除對象,而是在撤銷對象占用的內(nèi)存之前完成一些清理工作,使這部分內(nèi)存可以被程序分配給新對象使用。()

答案:對在類中,如果不做特別說明,所有成員的訪問權限默認均為公用成員。()

答案:錯構造函數(shù)是在建立對象時由系統(tǒng)自動執(zhí)行的,且只執(zhí)行一次。()

答案:對輸入/輸出流運算符">>"和"<<"只能重載為友元運算符。()

答案:對已知:inta=10;若有定義intconst*p=&a;則執(zhí)行語句*p=100;后a的值被更改為100。()

答案:錯若有定義:inta[2][3];則數(shù)組a中第i行第j列(假定i,j已正確定義并賦值)元素可以表示為:*(a+i)+j。()

答案:錯任何運算符的重載都可以用友元函數(shù)實現(xiàn)。()

答案:錯當說明一個union變量時,系統(tǒng)分配給它的內(nèi)存是其各成員所需內(nèi)存量的總和。()

答案:錯C++對文件的讀寫操作,即可通過緩沖區(qū)進行,也可不通過緩沖區(qū)直接進行。()

答案:錯

答案:intTEST::

答案:b=2;

答案:5,3,3,5

答案:5,10;10,5;10,5;

答案:Aobj;obj.x=5;

答案:基類構造函數(shù)被調(diào)用!基類成員:20;派生類構造函數(shù)被調(diào)用!派生類新增成員:30;正確表示基類中純虛函數(shù)的聲明是()

答案:virtualvoidvf()=0;當一個派生類公有繼承一個基類時,基類中的所有公有成員成為派生類的()

答案:public成員

答案:HelloWorld@abc假設Student類中定義了公有數(shù)據(jù)成員zipCode,且有Students;Student*ps=&s;Student&rs=s;則在類外對公有數(shù)據(jù)成員zipCode訪問錯誤的是()

答案:rs->zipCode

答案:20將intmax(intx,inty)函數(shù)指定為內(nèi)置函數(shù),需要在函數(shù)左端加一個關鍵字()

答案:inline關于函數(shù)重載和虛函數(shù)敘述錯誤的是()

答案:函數(shù)重載可以用于構造函數(shù),虛函數(shù)也可以用于構造函數(shù)

答案:D1類display().D2類display().有函數(shù)原型voidfun4(int&);下面選項中,正確的調(diào)用是()

答案:intb=100;fun4(b);

答案:基類成員:10;基類成員:20;

答案:帶參構造函數(shù)被調(diào)用!無參構造函數(shù)被調(diào)用!復制構造函數(shù)被調(diào)用!假設類Y是類X的派生類,即classY:publicX。當聲明Y類的對象和刪除Y類的對象時,構造函數(shù)和析構函數(shù)的調(diào)用次序分別為()

答案:X,Y;Y,X下列關于常對象的說法,錯誤的是()

答案:常對象也可以調(diào)用它所屬類的普通成員函數(shù),但不允許修改常對象中的數(shù)據(jù)成員已知:inta[3][4];則下面表達式中不能正確表示第i行第j列(假定i,j已正確定義并賦值)元素的選項是()

答案:*(a+i+j)

答案:B1::show();B2::show();D::show();定義虛基類的說明中,正確的格式是()

答案:classB:virtualpublicA有關析構函數(shù)的說法,錯誤的是()

答案:析構函數(shù)和構造函數(shù)一樣可以有形參iostream中預定義四個流對象,不包括的是()

答案:char有關析構函數(shù)的敘述錯誤的是()

答案:析構函數(shù)可以有形參下面標準流操作中,只適用于二進制文件的是()

答案:read成員函數(shù)下列關于重載運算符的規(guī)則的描述中,錯誤的是()

答案:重載可以改變運算符的優(yōu)先級

答案:Base類構造函數(shù)!Derived類構造函數(shù)!Derived類析構函數(shù)!Base類析構函數(shù)!關于基類對象和公有派生類對象敘述錯誤的是()

答案:可以把基類對象賦值給派生類對象引用下列關于抽象基類的說法,錯誤的是()

答案:抽象基類能定義對象不是構造函數(shù)的特征的是()

答案:構造函數(shù)必須指定返回值類型

答案:基類成員:10;基類成員:10;派生類新增成員:30;已知:intm=10;下列語句中對m的引用正確的是()

答案:int&x=m;

答案:5,-2,-7在類定義的外部,可以被訪問的成員有()

答案:public的類成員設置虛基類的目的是()

答案:消除重復繼承在類的定義中,用于為對象分配內(nèi)存空間,對類的數(shù)據(jù)成員進行初始化并執(zhí)行其他內(nèi)部管理操作的函數(shù)是()

答案:構造函數(shù)對構造函數(shù)的描述錯誤是()

答案:構造函數(shù)可以有參數(shù),所以也可以有返回值

答案:@abc不論派生類以何種方式繼承基類,都不能直接使用基類的()

答案:private成員

答案:HelloVis已知file.txt中內(nèi)容如下所示:1001LiMing181002WangGang221003ZhangKai20則下面程序的運行結(jié)果為(

)structSTU{intno;

stringname;

intage;};intmain(){ifstreamfin("file.txt");

STUtemp;

fin>>temp.no>>>>temp.age;

while(!fin.eof())

{if(temp.age<20)

cout<>temp.no>>>>temp.age;

}

fin.close();

return0;}

答案:1001-LiMing-18要求以二進制方式打開輸出文件file.dat,該文件位于D盤根目錄下(D:\file.dat),下列打開方式正確的是()

答案:ofstreamoutfile("D:\\file.dat",ios::binary);C++中,打開文件就是將這個文件與一個()建立關系,關閉文件就是取消這種關聯(lián)。

答案:流對象有下面程序片段:stringss;getline(cin,ss);cout<答案:HelloVisual下列流類函數(shù)中,能實現(xiàn)對文件寫操作的是()

答案:put成員函數(shù)下列關于ostream類成員函數(shù)ostream&write(char*buffer,intcount);描述正確的是()

答案:將buffer所指向內(nèi)存空間中連續(xù)count個字節(jié)的內(nèi)容寫入輸出流中下面程序運行后,文件file.dat中的內(nèi)容為(

)structSTU{intno;

stringname;

intage;};intmain(){ofstreamfout("file.dat",ios::binary);

STUs[3]={{1001,"LiMing",18},{1002,"WangGang",22},{1003,"ZhangKai",20}};

for(inti=0;i<3;i++)

if(s[i].age>20)

fout.write((char*)&s[i],sizeof(STU));

fout.close();

return0;}

答案:1002WangGang22的二進制形式標準流對象cin、cout、cerr和clog中,用于與標準輸入設備(鍵盤)連接的是()

答案:cin下列關于istream類成員函數(shù)istream&read(char*buffer,intcount);描述正確的是()

答案:從輸入流中讀取連續(xù)count個字節(jié)的內(nèi)容存放到buffer所指向的內(nèi)存空間中類模板可以生成若干個模板類,每個模板類又可定義若干個對象。()

答案:對聲明函數(shù)模板時,template與函數(shù)定義不能分開,兩者之間不能插入其它任何語句。()

答案:對C++使用模板可以減少重復勞動,提高代碼重用率()

答案:對C++語言中模板分為函數(shù)模板和類模板兩種。()

答案:對有如下類模板聲明:templateclassTanyTemp{public:

TanyTemp(Tx1,Ty1)

{x=x1;y=y1;}

private:

Tx,y;};則執(zhí)行語句TanyTempiobject(23,32);生成的模板類為()

答案:TanyTemp所有模板聲明都是以template<typename類型參數(shù)>開頭,其中關鍵字typename也可換為關鍵字class。()

答案:對有下面程序片段:floatarr[]={3.1,6.2,9.3,8.4,0.5,4.7,2.8,1.9};intn1=sizeof(arr)/sizeof(float);charstr[]="bacdef";intn2=sizeof(str)/sizeof(char);假定采用函數(shù)模板設計統(tǒng)一的排序函數(shù)sortData,使得函數(shù)調(diào)用sortData(arr,n1)和sortData(str,n2)能夠分別完成對數(shù)組arr以及數(shù)組str按元素數(shù)值(或ASCII碼)從小到大的排序,則函數(shù)模板SortData中類型參數(shù)的個數(shù)至少應為()

答案:1一個函數(shù)模板只能生成一個模板函數(shù)。()

答案:錯下列關于類模板定義中的類型參數(shù)說法正確的是()

答案:三者皆可下列關于類模板說法正確的是()

答案:類模板實例化時,編譯器將根據(jù)給出的模板實參生成具體的類在繼承關系中,下列函數(shù)中能被派生類繼承的是()。

答案:基類成員運算符重載函數(shù)下面程序的運行結(jié)果是()classB1{public:

virtualvoidshow()

{cout<<"B1::show()"<<";";

}};classB2{public:

voidshow()

{cout<<"B2::show()"<<";";

}};classD:publicB1,publicB2{public:

voidshow()

{cout<<"D::show()"<<";";

}};intmain(){B1b1;

B2b2;

Dd;

b1.show();

b2.show();

d.show();

return0;}

答案:B1::show();B2::show();D::show();派生類中重新定義虛函數(shù)時,不能與基類中的虛函數(shù)保持一致的是()

答案:函數(shù)體下面有關抽象類描述錯誤的是()

答案:抽象類可以創(chuàng)建對象下列函數(shù)中,不具有自身類隱含指針this的是()

答案:靜態(tài)成員函數(shù)下列有關繼承關系中虛函數(shù),描述正確的是()

答案:函數(shù)名相同、參數(shù)相同、返回值類型相同下列函數(shù)中可以聲明為虛函數(shù)的是()

答案:析構函數(shù)基類中的虛函數(shù),在派生類中()

答案:無論是否重新定義,都默認為虛函數(shù)下列對虛函數(shù)的訪問方式中,能夠在運行時動態(tài)綁定具體類的虛函數(shù),從而實現(xiàn)類的多態(tài)性的是()

答案:基類指針->虛函數(shù)下面程序的運行結(jié)果是(

)classB1{public:

virtualvoidshow()

{cout<<"B1::show()"<<";";

}};classB2{public:

voidshow()

{cout<<"B2::show()"<<";";

}};classD:publicB1,publicB2{public:

voidshow()

{cout<<"D::show()"<<";";

}};intmain(){B1b1;

B2b2;

Dd;

B1*bp;

bp=&d;

bp->show();

return0;}

答案:D::show();派生類對象直接訪問同名成員,在下列情形中不會出現(xiàn)二義性的是()

答案:單繼承中,直接基類和間接基類各自聲明有同名的成員,派生類并未聲明該同名成員;單繼承中,派生類和直接基類各自聲明有同名的成員有以下程序片段:classBase{private:inta;

protected:

intb;

public:

Base(inti=0,intj=0):a(i),b(j)

{}};classDerived:publicBase{private:intc;

protected:

intd;

public:

Derived(inti=0,intj=0,intm=0,intn=0):Base(i,j),c(m),d(n)

{}};intmain(){Derivedobj;

obj.a=1;//①

obj.b=2;

//②

obj.c=3;

//③

obj.d=4;

//④

return0;}則主函數(shù)中所有語法有誤的語句是(

答案:①②③④重復繼承關系中,若公共基類被聲明為其直接派生類的(),則能保證后代派生類中只保留一份該公共基類的成員。

答案:虛基類具有虛基類的派生類在創(chuàng)建對象時,最先被調(diào)用的是()。

答案:虛基類的構造函數(shù)公有繼承方式下,類A是類B的虛基類,則類B聲明的正確形式是()

答案:classB:virtualpublicA下列關于繼承方式public的描述錯誤的是()。

答案:基類中的private成員在派生類中仍為private成員有以下程序片段:classBase{private:inta;

protected:

intb;

public:

Base(inti,intj):a(i),b(j)

{}};classDerived:publicBase{private:intc;

protected:

intd;

public:

Derived(inti,intj,intm,intn):Base(i,j),c(m),d(n)

{}

voidfun()

{cout<答案:①C++的繼承性允許派生類繼承基類的()。

答案:所有特性,并允許增加新的特性或重定義基類的特性基類中的公有和保護成員在公有派生類中將成為()。

答案:仍然相應保持為公有成員和保護成員有以下程序片段:classA{private:inta;

public:

A(inti=0):a(i)

{}};classB{private:intb;

public:

B(intj=0):b(j)

{}};classC:publicA{private:

intc;BBobj;

public:

C(inti,intj,intk):c(k),Bobj(j),A(i)

{}};intmain(){CCobj(1,2,3);

return0;}則主函數(shù)中對象Cobj在創(chuàng)建時,構造函數(shù)調(diào)用順序從先到后依次是()

答案:類A構造函數(shù)、類B構造函數(shù)、類C構造函數(shù)下列關于類成員運算符重載和友元運算符重載說法正確的是()

答案:成員運算符重載函數(shù)中具有this指針,友元運算符重載函數(shù)中不具有this指針下標運算符[]在類中既可以重載為友元也可以重載為類成員。()

答案:錯假定復數(shù)類MyComplex聲明如下:classMyComplex{

floatreal,imag;public:

MyComplex(floatr=0,floati=0);

MyComplex(constMyComplex&other);

voidPrint()const;MyComplexoperator+(constMyComplex&other);friendMyComplexoperator*(constMyComplex&c1,constMyComplex&c2);};有MyComplexX(1,2),Y(3,4),Z(5,6);則對表達式X+Y;以及X*Z;理解正確的是(

答案:X.operator+(Y);

operator*(X,Z);重載的運算符保持原來的優(yōu)先級和結(jié)合性以及操作數(shù)的個數(shù)。()

答案:對假定類Sample中重載運算符>>,則運算符>>在類Sample中正確的聲明形式為()

答案:friendistream&operator>>(istream&input,Sample&obj);下列運算符中不能重載的是()

答案:sizeof假定類TEST中重載運算符<<,則運算符<答案:friendostream&operator<<(ostream&output,constTEST&obj);下列運算符必須重載為類成員函數(shù)的是()

答案:=下列函數(shù)中不能重載的是()

答案:析構函數(shù)假定復數(shù)類MyComplex聲明如下:classMyComplex{

floatreal,imag;public:

MyComplex(floatr=0,floati=0);

MyComplex(constMyComplex&other);

voidPrint()const;MyComplexoperator+(constMyComplex&other);friendMyComplexoperator*(constMyComplex&c1,constMyComplex&c2);};有MyComplexX(1,2),Y(3,4),Z(5,6);則對表達式X+Y*Z;的理解正確的是(

答案:X.operator+(operator*(Y,Z));下列關于常類型const的敘述錯誤的是()。

答案:通過常對象可以調(diào)用一般成員函數(shù)下列關于靜態(tài)成員的描述錯誤的是()。

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

答案:類通過靜態(tài)數(shù)據(jù)成員實現(xiàn)類對象間的數(shù)據(jù)共享;類通過友元聲明實現(xiàn)類內(nèi)數(shù)據(jù)向外界友元函數(shù)的共享下列關于常成員的敘述正確的是()。

答案:常成員函數(shù)不能更新對象的狀態(tài)下列函數(shù)中具有當前類的隱含指針this的是()。

答案:構造函數(shù);析構函數(shù)下面程序中橫線部分應填入的內(nèi)容是(

)classTEST{public:TEST(doubled):data(d){}voidPrint(){cout<<data<<endl;}staticintcount;private:doubledata;};

count=0;

答案:intTEST::假定Sample類中的成員函數(shù)show空參無返回值,且不會更改Sample類中數(shù)據(jù)成員的值,則show函數(shù)在類內(nèi)正確的聲明形式是()

答案:voidPrint()const;有如下類聲明:classSample{

intk;constintm;public:Sample(intk1,intm1);};則下列構造函數(shù)的定義形式中錯誤的是()

答案:Sample::Sample(intk1,intm1):k(k1){m=m1;}下列關于友元關系描述正確的是()。

答案:友元不是類的成員,但具有和類的成員函數(shù)一樣的數(shù)據(jù)訪問權限下面程序的執(zhí)行結(jié)果是()classSample{

intn;public:Sample(inti){n=i;}friendintadd(Sample&s1,Sample&s2);};intadd(Sample&s1,Sample&s2){

returns1.n+s2.n;}intmain(){

Samples1(10),s2(20);cout<答案:30作用域運算符::只能用于類成員名的所屬類限定。()

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

答案:析構函數(shù)既沒有參數(shù)也不可重載若類AB的聲明中沒有析構函數(shù)和構造函數(shù),則系統(tǒng)會自動為類AB添加缺省的析構函數(shù)~AB(){};和構造函數(shù)AB(){};()

答案:對訪問類對象成員或結(jié)構變量成員時,使用的運算符有.和->。()

答案:對有如下程序片段:classSample{

intn;

protected:

intm;public:Sample(inti=0,intj=0):n(i),m(j){}voidsetValue(intn0,intm0){n=n0;m=m0;}};int

main(){SampleObj;

//①

Obj.n=3;

//②

Obj.m=4;

//③

Obj.setValue(3,4);//④

return0;}則主函數(shù)中有誤的語句是()

答案:②③類定義中數(shù)據(jù)成員初值的設定既可以在聲明數(shù)據(jù)成員時進行,也可以在構造函

溫馨提示

  • 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

提交評論