南開(kāi)22春學(xué)期(全層次1809-2103)《面向?qū)ο蟪绦蛟O(shè)計(jì)》在線作業(yè)【資料答案】

可做奧鵬全部院校在線離線作業(yè)畢業(yè)論文QQ:3230981406 微信:aopopenfd777

發(fā)布時(shí)間:2022-07-11 12:52:38來(lái)源:admin瀏覽: 40 次

22春學(xué)期(高起本1709-1803、全層次1809-2103)《面向?qū)ο蟪绦蛟O(shè)計(jì)》在線作業(yè)-00001

試卷總分:100  得分:100

一、單選題 (共 35 道試題,共 70 分)

1.友元重載運(yùn)算符obj1>obj2被C++編譯器解釋為()。

A.operator>(obj1,obj2)

B.>(obj1,obj2)

C.obj1.operator>(obj2)

D.obj2.operator>(obj1)


2.對(duì)于類(lèi)定義 class A{ public: virtual void funcl(){} void func2(){} }; class B:public A{ public: void func1(){cout<<"class B func1"<<endl;} virtual void func2(){cout<<"class B func2"<<endl;} };下面正確的敘述是( )。

A.A::func2()和B::func1()都是虛函數(shù)

B.A::func2()和B::func1()都不是虛函數(shù)

C.B::func1()是虛函數(shù),A::func2()不是虛函數(shù)

D.B::func1()不是虛函數(shù),A::func2()是虛函數(shù)


3.read函數(shù)的功能是從輸入流中讀取( )。

A.一個(gè)字符

B.當(dāng)前字符

C.一行字符

D.指定若干個(gè)字符


4.運(yùn)算符重載的目的是()。

A.提高程序的效率

B.提高代碼復(fù)用能力

C.簡(jiǎn)化程序,減少目標(biāo)代碼

D.使程序代碼直觀易讀


5.下列對(duì)重載函數(shù)的描述中,( )是錯(cuò)誤的。

A.重載函數(shù)中不允許使用默認(rèn)參數(shù)

B.重載函數(shù)中編譯時(shí)根據(jù)參數(shù)表進(jìn)行選擇

C.不要使用重載函數(shù)來(lái)描述毫無(wú)相干的函數(shù)

D.構(gòu)造函數(shù)重載將會(huì)給初始化帶來(lái)多種方式


6.關(guān)于下面程序段說(shuō)法正確的是( ) class X { private: int n; public: X(X&); }; X::X(X&x) {n=x.n} X obj1,obj2(obj1);

A.語(yǔ)句obj2(obj1);的功能是用對(duì)象obj1初始化具有相同類(lèi)類(lèi)型的對(duì)象obj2

B.語(yǔ)句obj2(obj1);的功能是用對(duì)象obj2初始化具有相同類(lèi)類(lèi)型的對(duì)象obj1

C.X(X&x)中的&符號(hào)可以刪除

D.X(X&x)函數(shù)中不能訪問(wèn)對(duì)象的私有成員


7.設(shè)置虛基類(lèi)的目的是()。

A.簡(jiǎn)化程序

B.消除二義性

C.提高運(yùn)行效率

D.減少目標(biāo)代碼


8.對(duì)于拷貝構(gòu)造函數(shù),正確的描述是()。

A.在C++語(yǔ)言中,如果不自定義類(lèi)的拷貝構(gòu)造函數(shù),則每個(gè)類(lèi)都有默認(rèn)的拷貝構(gòu)造函數(shù)

B.必須為每個(gè)類(lèi)定義拷貝構(gòu)造函數(shù)

C.如果要使用拷貝構(gòu)造函數(shù),則必須在類(lèi)中先定義

D.當(dāng)定義了類(lèi)的構(gòu)造函數(shù)時(shí),如果要使用拷貝構(gòu)造函數(shù),則必須定義拷貝構(gòu)造函數(shù)


9.下面關(guān)于構(gòu)造函數(shù)和析構(gòu)函數(shù)的描述,錯(cuò)誤的是()。

A.析構(gòu)函數(shù)中調(diào)用虛函數(shù)采用靜態(tài)聯(lián)編

B.對(duì)虛析構(gòu)函數(shù)的調(diào)用可以采用動(dòng)態(tài)聯(lián)編

C.當(dāng)基類(lèi)的析構(gòu)函數(shù)是虛函數(shù)時(shí),其派生類(lèi)的析構(gòu)函數(shù)也一定是虛函數(shù)

D.構(gòu)造函數(shù)可以聲明為虛函數(shù)


10.多繼承的構(gòu)造函數(shù)順序可分為如下4步: ①所有非虛基類(lèi)的構(gòu)造函數(shù)按照它們被繼承的順序構(gòu)造。 ②所有虛基類(lèi)的構(gòu)造函數(shù)按照它們被繼承的順序構(gòu)造。 ③所有子對(duì)象的構(gòu)造函數(shù)按照它們聲明的順序構(gòu)造。 ④派生類(lèi)自己的構(gòu)造函數(shù)體 這四個(gè)步驟的正確順序是()。

A.④③①②

B.②④③①

C.②①③④

D.③④①②


11.關(guān)于this指針的說(shuō)法錯(cuò)誤的是( )。

A.this指針必須顯示說(shuō)明

B.當(dāng)創(chuàng)建一個(gè)對(duì)象后,this指針就指向該對(duì)象

C.成員函數(shù)擁有this指針

D.靜態(tài)成員函數(shù)不擁有this指針


12.有關(guān)析構(gòu)函數(shù)的說(shuō)法正確的是( )。

A.析構(gòu)函數(shù)可以有多個(gè)

B.析構(gòu)函數(shù)和構(gòu)造函數(shù)一樣可以有形參

C.析構(gòu)函數(shù)的功能是用來(lái)釋放一個(gè)對(duì)象

D.析構(gòu)函數(shù)的函數(shù)類(lèi)型為void


13.一個(gè)( )允許用戶(hù)為類(lèi)定義一種模式,使得類(lèi)中的某些數(shù)據(jù)成員、某些成員函數(shù)的參數(shù)和返回值可以取任意數(shù)據(jù)類(lèi)型。

A.函數(shù)模板

B.模板函數(shù)

C.類(lèi)模板

D.模板類(lèi)


14.下列關(guān)于成員訪問(wèn)權(quán)限的描述中,不正確的是( )。

A.公有數(shù)據(jù)成員和公有成員函數(shù)都可以通過(guò)類(lèi)對(duì)象直接訪問(wèn)

B.類(lèi)的私有數(shù)據(jù)成員只能被公有成員函數(shù)以及該類(lèi)的任何友元類(lèi)或友元函數(shù)訪問(wèn)

C.保護(hù)成員在派生類(lèi)中可以被訪問(wèn),而私有成員不可以

D.類(lèi)或派生類(lèi)的成員函數(shù)可以訪問(wèn)保護(hù)成員


15.使用string類(lèi),必須在程序中包含頭文件()。

A.string.h

B.string

C.cstring.h

D.cstring


16.已知函數(shù)原型:void f(int a, int b=3,char c='*'); 則下面的函數(shù)調(diào)用中,不合法的調(diào)用是()。

A.f(5)

B.f(5,8)

C.f(6, , '#')

D.f(0,0, '#')


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

A.基類(lèi)的構(gòu)造函數(shù)

B.派生類(lèi)中子對(duì)象的初始化

C.基類(lèi)的子對(duì)象初始化

D.派生類(lèi)中一般數(shù)據(jù)成員的初始化


18.關(guān)于虛函數(shù),下列表述正確的是( )。

A.如果在重定義虛函數(shù)時(shí)使用virtual,則該重定義函數(shù)仍然是虛函數(shù)

B.虛函數(shù)不得聲明為靜態(tài)函數(shù)

C.虛函數(shù)不得聲明為另一個(gè)類(lèi)的友元函數(shù)

D.派生類(lèi)必須重新定義基類(lèi)的虛函數(shù)


19.在保護(hù)繼承中,基類(lèi)中的私有成員作為派生類(lèi)的()。

A.公有成員

B.私有成員

C.保護(hù)成員

D.不可訪問(wèn)


20.假定已定義浮點(diǎn)型變量data,以二進(jìn)制方式把data的值寫(xiě)入輸出文件流對(duì)象outfile中去,正確的語(yǔ)句是( )。

A.outfile.write((float *) &data, sizeof(float));

B.outfile.write((float *) &data, data);

C.outfile.write((char *) &data, sizeof(float));

D.outfile.write((char *) &data, data);


21.下列引用的定義中,( )是錯(cuò)誤的。

A.int i; int &j=i;

B.int i; int &j; j=i;

C.float i; float &j=i;

D.char d; char &k=d;


22.C++有( )種聯(lián)編方式。

A.1

B.2

C.3

D.4


23.在C++標(biāo)準(zhǔn)模板庫(kù)中,vector容器是一種( )。

A.標(biāo)準(zhǔn)類(lèi)

B.標(biāo)準(zhǔn)對(duì)象

C.標(biāo)準(zhǔn)函數(shù)

D.標(biāo)準(zhǔn)類(lèi)模板


24.下列關(guān)于賦值運(yùn)算符重載的說(shuō)法中正確的是()。

A.返回值一般是以引用方式返回的對(duì)象,而函數(shù)體中總是用語(yǔ)句“return *this;”返回this指針?biāo)赶虻膶?duì)象

B.賦值運(yùn)算符只能以非成員函數(shù)的方式重載

C.賦值運(yùn)算符既可以以成員函數(shù)的方式重載,又可以以非成員函數(shù)的方式重載

D.以上均不正確


25.下列對(duì)派生類(lèi)的描述中錯(cuò)誤的是()。

A.派生類(lèi)至少有一個(gè)基類(lèi)

B.派生類(lèi)可作為另一個(gè)派生類(lèi)的基類(lèi)

C.派生類(lèi)除了包含它直接定義的成員外,還包含其基類(lèi)的成員

D.派生類(lèi)對(duì)其繼承的基類(lèi)的成員訪問(wèn)權(quán)限保持不變


26.下列對(duì)派生類(lèi)的描述中,()是錯(cuò)誤的。

A.一個(gè)派生類(lèi)可以作另一個(gè)派生類(lèi)的基類(lèi)

B.派生類(lèi)至少有一個(gè)基類(lèi)

C.派生類(lèi)的成員除了它自己的成員外,包含了它的基類(lèi)的成員

D.派生類(lèi)中繼承的基類(lèi)成員的訪問(wèn)權(quán)限到派生類(lèi)保持不變


27.面向?qū)ο蟪绦蛟O(shè)計(jì)思想的主要特征中不包括( )。

A.封裝性

B.多態(tài)性

C.繼承性

D.功能分解,逐步求精


28.有關(guān)構(gòu)造函數(shù)說(shuō)法不正確的是( )。

A.構(gòu)造函數(shù)的名字和類(lèi)的名字一樣

B.在創(chuàng)建對(duì)象時(shí),系統(tǒng)自動(dòng)調(diào)用構(gòu)造函數(shù)

C.構(gòu)造函數(shù)無(wú)任何函數(shù)類(lèi)型

D.構(gòu)造函數(shù)有且只有一個(gè)


29.如果一個(gè)類(lèi)至少有一個(gè)純虛函數(shù),那么就稱(chēng)該類(lèi)是()。

A.抽象類(lèi)

B.虛基類(lèi)

C.派生類(lèi)

D.以上都不對(duì)


30.進(jìn)行文件操作時(shí)需要包含_ ()頭文件。

A.iostream

B.fstream

C.stdio

D.stdlib


31.已知AA是一個(gè)類(lèi),則執(zhí)行語(yǔ)句AA a;后( )。

A.自動(dòng)調(diào)用無(wú)參構(gòu)造函數(shù)

B.自動(dòng)調(diào)用有參構(gòu)造函數(shù)

C.自動(dòng)調(diào)用拷貝構(gòu)造函數(shù)

D.產(chǎn)生一個(gè)對(duì)象a,但不調(diào)用任何函數(shù)


32.類(lèi)模板的使用實(shí)際上是類(lèi)模板實(shí)例化成一個(gè)具體的( )。

A.類(lèi)

B.對(duì)象

C.函數(shù)

D.變量


33.下列描述中,()是抽象類(lèi)的特性。

A.可以說(shuō)明虛函數(shù)

B.可以定義友元函數(shù)

C.可以進(jìn)行構(gòu)造函數(shù)重載

D.不能說(shuō)明其對(duì)象


34.C++對(duì)C語(yǔ)言做了很多改進(jìn),下列描述中( )使得C語(yǔ)言發(fā)生了質(zhì)變,即從面向過(guò)程變成面向?qū)ο蟆?/p>

A.增加了一些新的運(yùn)算符

B.允許函數(shù)重載,并允許設(shè)置默認(rèn)參數(shù)

C.規(guī)定函數(shù)說(shuō)明必須用原型

D.引進(jìn)類(lèi)和對(duì)象的概念


35.有關(guān)帶默認(rèn)參數(shù)的函數(shù)的描述正確的是()。

A.只能在函數(shù)定義時(shí)設(shè)置默認(rèn)參數(shù)值

B.只能在函數(shù)聲明時(shí)設(shè)置默認(rèn)參數(shù)值

C.函數(shù)調(diào)用時(shí),必須使用默認(rèn)的參數(shù)值,不能給出新的實(shí)參值

D.設(shè)置默認(rèn)參數(shù)時(shí),應(yīng)該設(shè)置最右邊的若干個(gè)參數(shù)的默認(rèn)值


二、判斷題 (共 15 道試題,共 30 分)

36.默認(rèn)形參值應(yīng)在函數(shù)定義處指定。


37.類(lèi)的靜態(tài)成員函數(shù)中不能訪問(wèn)非靜態(tài)成員。


38.抽象類(lèi)雖然也是一種數(shù)據(jù)類(lèi)型,但它不能建立對(duì)象,只能作為基類(lèi)被其他類(lèi)繼承。


39.多繼承情況下,派生類(lèi)的構(gòu)造函數(shù)中基類(lèi)構(gòu)造函數(shù)的執(zhí)行順序取決于定義派生類(lèi)時(shí)所指定的各基類(lèi)的順序。


40.在刪除一個(gè)動(dòng)態(tài)對(duì)象時(shí),將自動(dòng)調(diào)用該動(dòng)態(tài)對(duì)象所屬類(lèi)的析構(gòu)函數(shù)。


41.構(gòu)造函數(shù)和析構(gòu)函數(shù)都不能重載。


42.定義模板的關(guān)鍵字是template。


43.預(yù)定義的提取符和插入符是可以重載的。


44.派生類(lèi)對(duì)基類(lèi)繼承的成員函數(shù)進(jìn)行重定義后,則通過(guò)派生類(lèi)對(duì)象和基類(lèi)對(duì)象調(diào)用的都是重定義后的成員函數(shù)。


45.引用是某個(gè)變量的別名。對(duì)引用的操作,實(shí)質(zhì)上就是對(duì)被引用的變量的操作。


46.C++語(yǔ)言中模板分為函數(shù)模板和類(lèi)模板兩種。


47.cin后面的符號(hào)是<<。


48.運(yùn)算符重載是一種特殊的函數(shù)重載,其函數(shù)名為operator。


49.函數(shù)模板可以與普通函數(shù)重載。


50.多重繼承中的二義性問(wèn)題是由于一個(gè)派生類(lèi)從不同基類(lèi)中繼承了同名成員變量或相同函數(shù)原型的成員函數(shù)。




奧鵬,國(guó)開(kāi),廣開(kāi),電大在線,各省平臺(tái),新疆一體化等平臺(tái)學(xué)習(xí)
詳情請(qǐng)咨詢(xún)QQ : 3230981406或微信:aopopenfd777

作業(yè)咨詢(xún) 論文咨詢(xún)
微信客服掃一掃

回到頂部