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

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

發(fā)布時(shí)間:2023-02-03 21:05:56來(lái)源:admin瀏覽: 0 次

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

試卷總分:100  得分:100

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

1.對(duì)虛函數(shù)的調(diào)用()。

A.一定使用動(dòng)態(tài)聯(lián)編

B.一定使用靜態(tài)聯(lián)編

C.必須使用動(dòng)態(tài)聯(lián)編

D.不一定使用動(dòng)態(tài)聯(lián)編


2.下列虛基類(lèi)的聲明中正確的是( )。

A.class virtual B:public A

B.virtual class B:public

C.class B:public A virtual

D.class B: virtual public A


3.已知類(lèi)X中的一個(gè)成員函數(shù)說(shuō)明如下: Void Set(X &a); 其中,X &a的含義是( )。

A.a是指向X類(lèi)對(duì)象的指針,用來(lái)作為Set()的形參

B.將a的地址傳遞給Set()函數(shù)

C.a是X類(lèi)對(duì)象的引用,用來(lái)做為Set()的形參

D.以上都不對(duì)


4.下面對(duì)靜態(tài)數(shù)據(jù)成員的描述中,正確的是( )。

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

B.類(lèi)的每個(gè)對(duì)象都有自己的靜態(tài)數(shù)據(jù)成員

C.類(lèi)的不同對(duì)象有不同的靜態(tài)數(shù)據(jù)成員值

D.靜態(tài)數(shù)據(jù)成員不能通過(guò)類(lèi)的對(duì)象訪(fǎng)問(wèn)


5.下列程序中說(shuō)明的公有成員是( ) class Location { int X; public: void init(int initX,int initY); private: int Y; public: int GetX(); int GetY(); };

A.X

B.init(int initX,int initY)

C.GetX(),GetY()

D.B和C都是


6.在C++中,通過(guò)()的機(jī)制可以對(duì)原有的類(lèi)進(jìn)行擴(kuò)充和完善以適應(yīng)新的需要。

A.繼承

B.封裝

C.多態(tài)

D.重載


7.要求打開(kāi)文件 d:\file.dat,可寫(xiě)入數(shù)據(jù),正確的語(yǔ)句是( )。

A.ifstream infile("d:\file.dat", ios::in);

B.ifstream infile("d:\\file.dat", ios::in);

C.ofstream infile("d:\file.dat", ios::out);

D.fstream infile("d:\\file.dat", ios::in| ios::out);


8.下列程序段中具有相同值的是( ) class Base {int b;}; class Base1:virtual public base{int b1;}; class Base2:virtual public base{int b2;}; class derived:public base 1,public base 2{int b3;}; derived d;

A.b與d.base1::b

B.base1::b與 d.base1::b1

C.b與 d. b3

D.base2::b與 d.base2::b2


9.當(dāng)一個(gè)派生類(lèi)私有繼承一個(gè)基類(lèi)時(shí),基類(lèi)中的所有公有成員和保護(hù)成員成為派生類(lèi)的( )。

A.public成員

B.private成員

C.protected成員

D.友元


10.假定X為一個(gè)類(lèi),執(zhí)行X a[3],*p[2];語(yǔ)句時(shí)會(huì)自動(dòng)調(diào)用該類(lèi)的構(gòu)造函數(shù)( )次。

A.2

B.3

C.4

D.5


11.下列關(guān)于構(gòu)造函數(shù)調(diào)用順序的描述中,正確的是()。

A.創(chuàng)建派生類(lèi)對(duì)象時(shí),先調(diào)用基類(lèi)的構(gòu)造函數(shù),后調(diào)用派生類(lèi)的構(gòu)造函數(shù)

B.創(chuàng)建基類(lèi)對(duì)象時(shí),先調(diào)用基類(lèi)的構(gòu)造函數(shù),后調(diào)用派生類(lèi)的構(gòu)造函數(shù)

C.創(chuàng)建派生類(lèi)對(duì)象時(shí),先調(diào)用派生類(lèi)的構(gòu)造函數(shù),后調(diào)用基類(lèi)的構(gòu)造函數(shù)

D.創(chuàng)建基類(lèi)對(duì)象時(shí),先調(diào)用派生類(lèi)的構(gòu)造函數(shù),后調(diào)用基類(lèi)的構(gòu)造函數(shù)


12.若類(lèi)中有指針成員變量,則應(yīng)編寫(xiě)(),使得在對(duì)象銷(xiāo)毀時(shí)能夠自動(dòng)調(diào)用該函數(shù)釋放指針成員變量所指向的內(nèi)存空間。

A.友元函數(shù)

B.虛函數(shù)

C.構(gòu)造函數(shù)

D.析構(gòu)函數(shù)


13.關(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ù)中不能訪(fǎng)問(wèn)對(duì)象的私有成員


14.關(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ù)


15.關(guān)于純虛函數(shù)和抽象類(lèi)的描述中,錯(cuò)誤的是()。

A.純虛函數(shù)是一種特殊的虛函數(shù),它沒(méi)有具體的實(shí)現(xiàn)。

B.抽象類(lèi)是指具有純虛函數(shù)的類(lèi)。

C.一個(gè)基類(lèi)中有純虛函數(shù),該類(lèi)的派生類(lèi)一定不再是抽象類(lèi)。

D.抽象類(lèi)作為基類(lèi)來(lái)使用,其純虛函數(shù)的實(shí)現(xiàn)由派生類(lèi)給出。


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

A.構(gòu)造函數(shù)必須與類(lèi)同名

B.構(gòu)造函數(shù)可以省略不寫(xiě)

C.構(gòu)造函數(shù)必須有返回值

D.在構(gòu)造函數(shù)中可以對(duì)類(lèi)中的成員進(jìn)行初始化


17.若析構(gòu)函數(shù)是虛函數(shù),則delete對(duì)析構(gòu)函數(shù)的調(diào)用采用( )。

A.靜態(tài)聯(lián)編

B.動(dòng)態(tài)聯(lián)編

C.重載函數(shù)

D.多重函數(shù)


18.當(dāng)一個(gè)派生類(lèi)公有繼承一個(gè)基類(lèi)時(shí),基類(lèi)中的所有公有成員成為派生類(lèi)的( )。

A.public成員

B.private成員

C.protected成員

D.友元


19.程序在調(diào)用重載函數(shù)時(shí),根據(jù)()區(qū)分到底要調(diào)用哪個(gè)函數(shù)。

A.函數(shù)名

B.返回值類(lèi)型

C.參數(shù)個(gè)數(shù)和類(lèi)型

D.以上都可以


20.下列關(guān)于對(duì)象數(shù)組的描述中,錯(cuò)誤的是( )。

A.對(duì)象數(shù)組的下標(biāo)是從0開(kāi)始的

B.對(duì)象數(shù)組的數(shù)組名是一個(gè)常量指針

C.對(duì)象數(shù)組的每個(gè)元素是同一個(gè)類(lèi)的對(duì)象

D.對(duì)象數(shù)組只能賦初值,而不能在定義后賦值


21.“#include <iostream>”是()預(yù)處理命令。

A.宏定義

B.文件包含

C.條件編譯

D.工程配置


22.下面敘述不正確的是( )。

A.基類(lèi)的保護(hù)成員在派生類(lèi)中仍然是保護(hù)的

B.基類(lèi)的保護(hù)成員在公有派生類(lèi)中仍然是保護(hù)的

C.基類(lèi)的保護(hù)成員在私有派生類(lèi)中是私有的

D.對(duì)基類(lèi)成員的訪(fǎng)問(wèn)必須是無(wú)二義性


23.下面對(duì)友元的錯(cuò)誤描述是( )。

A.關(guān)鍵字friend用于聲明友元

B.一個(gè)類(lèi)的成員函數(shù)可以是另一個(gè)類(lèi)的友元

C.友元函數(shù)訪(fǎng)問(wèn)對(duì)象的成員不受訪(fǎng)問(wèn)特性影響

D.友元函數(shù)通過(guò)this指針訪(fǎng)問(wèn)對(duì)象成員


24.如果類(lèi)A被說(shuō)明成類(lèi)B的友元,則()。

A.類(lèi)A的成員函數(shù)不得訪(fǎng)問(wèn)類(lèi)B的所有成員

B.類(lèi)A的成員函數(shù)可以訪(fǎng)問(wèn)類(lèi)B的所有成員

C.類(lèi)A的成員即類(lèi)B的成員

D.類(lèi)B的成員即類(lèi)A的成員


25.一個(gè)類(lèi)的友元函數(shù)能夠訪(fǎng)問(wèn)該類(lèi)的( )。

A.私有成員

B.保護(hù)成員

C.公有成員

D.所有成員


26.下列關(guān)于拷貝構(gòu)造函數(shù)的描述中,錯(cuò)誤的是()。

A.一個(gè)類(lèi)可以定義多個(gè)拷貝構(gòu)造函數(shù)

B.若未定義拷貝構(gòu)造函數(shù),則系統(tǒng)會(huì)提供一個(gè)默認(rèn)拷貝構(gòu)造函數(shù)

C.當(dāng)類(lèi)中有指針成員變量時(shí),通常要為這個(gè)類(lèi)定義一個(gè)拷貝構(gòu)造函數(shù)來(lái)實(shí)現(xiàn)深拷貝

D.拷貝構(gòu)造函數(shù)中的參數(shù)按引用方式傳遞


27.下列關(guān)于運(yùn)算符重載的描述中,()是正確的。

A.運(yùn)算符重載可以改變操作數(shù)的個(gè)數(shù)

B.運(yùn)算符重載可以改變優(yōu)先級(jí)

C.運(yùn)算符重載可以改變結(jié)合性

D.運(yùn)算符重載不可以改變語(yǔ)法結(jié)構(gòu)


28.下列( )是構(gòu)造函數(shù)的特征。

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

B.構(gòu)造函數(shù)不可以重載

C.構(gòu)造函數(shù)不可以設(shè)置默認(rèn)參數(shù)

D.構(gòu)造函數(shù)必須指定函數(shù)類(lèi)型


29.執(zhí)行語(yǔ)句“string str("abc");”時(shí),系統(tǒng)會(huì)自動(dòng)調(diào)用string類(lèi)的構(gòu)造函數(shù)()。

A.string()

B.string(const char *s)

C.string(const string &str)

D.string(size_type n, char c)


30.以成員函數(shù)方式重載運(yùn)算符“>”,則obj1>obj2被C++編譯器解釋為()。

A.operator>(obj1,obj2)

B.>(obj1,obj2)

C.obj1.operator>(obj2)

D.obj2.operator>(obj1)


31.已知“float *p; p=new float[2];”,若要釋放p所指向的堆中的這些字節(jié),下列語(yǔ)句正確的是()。

A.delete p;

B.delete p[];

C.delete []p;

D.delete p[2];


32.建立類(lèi)模板對(duì)象的實(shí)例化過(guò)程為( )。

A.基類(lèi)->派生類(lèi)

B.構(gòu)造函數(shù)->對(duì)象

C.模板類(lèi)->對(duì)象

D.模板類(lèi)->模板函數(shù)


33.撤消對(duì)象時(shí),系統(tǒng)自動(dòng)調(diào)用( )函數(shù)。

A.成員函數(shù)

B.構(gòu)造函數(shù)

C.析構(gòu)函數(shù)

D.普通函數(shù)


34.下列關(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.以上均不正確


35.關(guān)于動(dòng)態(tài)關(guān)聯(lián)的下列敘述中,()是錯(cuò)誤的。

A.動(dòng)態(tài)關(guān)聯(lián)是以虛函數(shù)為基礎(chǔ)的

B.動(dòng)態(tài)關(guān)聯(lián)調(diào)用虛函數(shù)操作是指向?qū)ο蟮闹羔樆蛞?/p>

C.動(dòng)態(tài)關(guān)聯(lián)是在運(yùn)行時(shí)確定所調(diào)用的函數(shù)代碼的

D.動(dòng)態(tài)關(guān)聯(lián)是在編譯時(shí)確定操作函數(shù)的


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

36.定義重載函數(shù)時(shí),應(yīng)保證函數(shù)類(lèi)型有所不同。


37.運(yùn)算符[]只能用成員運(yùn)算符來(lái)重載,不能用友元運(yùn)算符來(lái)重載。


38.純虛函數(shù)是一種特殊的成員函數(shù),它是一種沒(méi)有具體實(shí)現(xiàn)的虛函數(shù)。


39.已知Circle類(lèi)對(duì)象c,Circle類(lèi)中有一個(gè)setCenter成員函數(shù),如果c.setCenter(...)返回值仍然是c,則setCenter函數(shù)中的return語(yǔ)句應(yīng)寫(xiě)作return this;。


40.當(dāng)一個(gè)函數(shù)的返回值是類(lèi)對(duì)象時(shí),則該函數(shù)執(zhí)行結(jié)束后會(huì)自動(dòng)調(diào)用拷貝構(gòu)造函數(shù)初始化一個(gè)臨時(shí)對(duì)象。


41.在類(lèi)內(nèi)部定義的public數(shù)據(jù)可以在類(lèi)外進(jìn)行存取。


42.定義虛函數(shù)所用的關(guān)鍵字是virtual。


43.重載函數(shù)可以帶默認(rèn)參數(shù)值,但要注意二義性。


44.某類(lèi)中的友元類(lèi)的所有成員函數(shù)可以存取或修改該類(lèi)中的私有成員。


45.構(gòu)造函數(shù)說(shuō)明為純虛函數(shù)是沒(méi)有意義的。


46.函數(shù)的參數(shù)個(gè)數(shù)和類(lèi)型都相同,只是返回值不同,這不是重載函數(shù)。


47.只有返回引用的函數(shù)可以作為賦值語(yǔ)句的左值。


48.打開(kāi)ASCII碼流文件和二進(jìn)制流文件時(shí),打開(kāi)方式是相同的。


49.運(yùn)算符重載實(shí)際上是對(duì)已有的運(yùn)算符重新定義其功能。


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



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

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

回到頂部