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

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

發(fā)布時(shí)間:2022-08-10 22:50:44來源: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ì)于類定義 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.簡化程序,減少目標(biāo)代碼

D.使程序代碼直觀易讀


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

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

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

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

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


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

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

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

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

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


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

A.簡化程序

B.消除二義性

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

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


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

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

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

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

D.當(dāng)定義了類的構(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)基類的析構(gòu)函數(shù)是虛函數(shù)時(shí),其派生類的析構(gòu)函數(shù)也一定是虛函數(shù)

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


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

A.④③①②

B.②④③①

C.②①③④

D.③④①②


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

A.this指針必須顯示說明

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

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

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


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

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

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

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

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


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

A.函數(shù)模板

B.模板函數(shù)

C.類模板

D.模板類


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

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

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

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

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


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

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.派生類的構(gòu)造函數(shù)的成員初始化列表中,不能包含()。

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

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

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

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


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

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

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

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

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


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

A.公有成員

B.私有成員

C.保護(hù)成員

D.不可訪問


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

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)模板庫中,vector容器是一種( )。

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

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

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

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


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

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

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

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

D.以上均不正確


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

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

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

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

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


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

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

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

C.派生類的成員除了它自己的成員外,包含了它的基類的成員

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


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

A.封裝性

B.多態(tài)性

C.繼承性

D.功能分解,逐步求精


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

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

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

C.構(gòu)造函數(shù)無任何函數(shù)類型

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


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

A.抽象類

B.虛基類

C.派生類

D.以上都不對(duì)


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

A.iostream

B.fstream

C.stdio

D.stdlib


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

A.自動(dòng)調(diào)用無參構(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.類模板的使用實(shí)際上是類模板實(shí)例化成一個(gè)具體的( )。

A.類

B.對(duì)象

C.函數(shù)

D.變量


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

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

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

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

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


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

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

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

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

D.引進(jìn)類和對(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.類的靜態(tài)成員函數(shù)中不能訪問非靜態(tài)成員。


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


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


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


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


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


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


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


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


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


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


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


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


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



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

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

回到頂部