23春學(xué)期(高起本:1709-2103、專(zhuān)升本/高起專(zhuān):1909-2103)《面向?qū)ο蟪绦蛟O(shè)計(jì)》在線(xiàn)作業(yè)-00003
試卷總分:100 得分:100
一、單選題 (共 35 道試題,共 70 分)
1.下列說(shuō)法中錯(cuò)誤的是( )。
A.公有繼承時(shí)基類(lèi)中的public成員在派生類(lèi)中是public的
B.公有繼承時(shí)基類(lèi)中的private成員在派生類(lèi)中是不可訪(fǎng)問(wèn)的
C.私有繼承時(shí)基類(lèi)中的public成員在派生類(lèi)中是private的
D.私有繼承時(shí)基類(lèi)中的public成員在派生類(lèi)中是protected的
2.關(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)給出。
3.下面( )的敘述不符合賦值兼容規(guī)則。
A.派生類(lèi)的對(duì)象可以賦值給基類(lèi)的對(duì)象
B.基類(lèi)的對(duì)象可以賦值給派生類(lèi)的對(duì)象
C.派生類(lèi)的對(duì)象可以初始化基類(lèi)的對(duì)象
D.派生類(lèi)的對(duì)象的地址可以賦值給指向基類(lèi)的指針
4.有關(guān)重載函數(shù)的描述正確的是()。
A.函數(shù)名相同的函數(shù)就是重載函數(shù)
B.函數(shù)名相同但返回值類(lèi)型不同的函數(shù)就是重載函數(shù)
C.函數(shù)名相同但參數(shù)個(gè)數(shù)或類(lèi)型不同的函數(shù)就是重載函數(shù)
D.函數(shù)功能相同的函數(shù)就是重載函數(shù)
5.類(lèi)的默認(rèn)的無(wú)參構(gòu)造函數(shù)()。
A.在任何情況下都存在
B.僅當(dāng)未定義無(wú)參構(gòu)造函數(shù)時(shí)存在
C.僅當(dāng)未定義有參構(gòu)造函數(shù)時(shí)存在
D.僅當(dāng)未定義任何構(gòu)造函數(shù)時(shí)存在
6.C++有( )種聯(lián)編方式。
A.1
B.2
C.3
D.4
7.繼承具有(),即當(dāng)基類(lèi)本身也是某一個(gè)類(lèi)的派生類(lèi)時(shí),底層的派生類(lèi)也會(huì)自動(dòng)繼承間接基類(lèi)的成員。
A.規(guī)律性
B.傳遞性
C.重復(fù)性
D.多樣性
8.類(lèi)對(duì)象占用內(nèi)存的大小與()有關(guān)。
A.數(shù)據(jù)成員
B.成員函數(shù)
C.數(shù)據(jù)成員和成員函數(shù)
D.私有成員
9.假定已定義浮點(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);
10.實(shí)現(xiàn)運(yùn)行時(shí)的多態(tài)性要使用()。
A.構(gòu)造函數(shù)
B.析構(gòu)函數(shù)
C.重載函數(shù)
D.虛函數(shù)
11.撤消對(duì)象時(shí),系統(tǒng)自動(dòng)調(diào)用( )函數(shù)。
A.成員函數(shù)
B.構(gòu)造函數(shù)
C.析構(gòu)函數(shù)
D.普通函數(shù)
12.下面說(shuō)法正確的是( )。
A.內(nèi)聯(lián)函數(shù)在運(yùn)行時(shí)是將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方
B.內(nèi)聯(lián)函數(shù)在編譯時(shí)是將該函數(shù)的目標(biāo)代碼插入每個(gè)調(diào)用該函數(shù)的地方
C.類(lèi)的內(nèi)聯(lián)函數(shù)必須在類(lèi)體內(nèi)定義
D.類(lèi)的內(nèi)聯(lián)函數(shù)必須在類(lèi)體外用關(guān)鍵字inline定義
13.下面關(guān)于類(lèi)的成員函數(shù)描述不正確的是()。
A.靜態(tài)成員函數(shù)內(nèi)可以直接訪(fǎng)問(wèn)類(lèi)的非靜態(tài)成員數(shù)據(jù)
B.靜態(tài)成員函數(shù)內(nèi)可以直接訪(fǎng)問(wèn)類(lèi)的靜態(tài)成員數(shù)據(jù)
C.非靜態(tài)成員函數(shù)可以直接訪(fǎng)問(wèn)類(lèi)的非靜態(tài)成員數(shù)據(jù)
D.非靜態(tài)成員函數(shù)可以直接訪(fǎng)問(wèn)類(lèi)的靜態(tài)成員數(shù)據(jù)
14.類(lèi)A是類(lèi)B的友元,類(lèi)B是類(lèi)C的友元,則( )是正確的。
A.類(lèi)B是類(lèi)A的友元
B.類(lèi)C是類(lèi)A的友元
C.類(lèi)A是類(lèi)C的友元
D.以上都不對(duì)
15.對(duì)于多重繼承,有( )。
A.一個(gè)派生類(lèi)只能有一個(gè)基類(lèi)
B.一個(gè)基類(lèi)只能產(chǎn)生一個(gè)派生類(lèi)
C.一個(gè)基類(lèi)必須產(chǎn)生多個(gè)派生類(lèi)
D.一個(gè)派生類(lèi)可有多個(gè)基類(lèi)
16.下列類(lèi)中( )是輸入/輸出流類(lèi)iostream的派生類(lèi)。
A.fstream
B.ofstream
C.ifstream
D.ostream
17.若類(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ù)
18.對(duì)靜態(tài)成員的不正確描述是( )。
A.靜態(tài)成員不屬于對(duì)象,是類(lèi)的共享成員
B.靜態(tài)數(shù)據(jù)成員要在類(lèi)外定義和初始化
C.調(diào)用靜態(tài)成員函數(shù)時(shí)要通過(guò)類(lèi)或?qū)ο蠹せ?,所以靜態(tài)成員函數(shù)擁有this指針
D.非靜態(tài)成員函數(shù)也可以操作靜態(tài)數(shù)據(jù)成員
19.下面程序段中,說(shuō)法正確的是( ) class location{ public : int GetX(); }; class rectangle:private location { public: int GetW(); };
A.類(lèi)rectangle的私有派生類(lèi)是location
B.類(lèi)rectangle中的public成員在類(lèi) location中是私有的
C.類(lèi)location中的public成員在類(lèi) rectangle中是不可訪(fǎng)問(wèn)的
D.viod f( ) { Rectangle r; int X=r .GetX( ); } 其中int X = r .GetX( );是非法語(yǔ)句
20.下面關(guān)于友元的描述中,錯(cuò)誤的是( )。
A.友元函數(shù)可以訪(fǎng)問(wèn)該類(lèi)的私有數(shù)據(jù)成員
B.一個(gè)類(lèi)的友元類(lèi)中的成員函數(shù)都是這個(gè)類(lèi)的友元函數(shù)
C.友元可以提高程序的運(yùn)行效率
D.類(lèi)與類(lèi)之間的友元關(guān)系可以繼承
21.( )的功能是對(duì)對(duì)象進(jìn)行初始化。
A.析構(gòu)函數(shù)
B.數(shù)據(jù)成員
C.構(gòu)造函數(shù)
D.靜態(tài)數(shù)據(jù)成員
22.下面程序段中是內(nèi)聯(lián)函數(shù)的是( )。 class location { private: int x ,y; public: void init(int initx,int inity) { x=initx; y=inity; } int getx(){return x;} int gety(); }; inline int location::gety() {return y;}
A.init (int initx,int inity)
B.getx(),gety()
C.A和B都是
D.A和getx()
23.在保護(hù)繼承中,基類(lèi)中的私有成員作為派生類(lèi)的()。
A.公有成員
B.私有成員
C.保護(hù)成員
D.不可訪(fǎng)問(wèn)
24.下列關(guān)于成員函數(shù)特征的描述中,錯(cuò)誤的是( )。
A.成員函數(shù)一定是內(nèi)聯(lián)函數(shù)
B.成員函數(shù)可以重載
C.成員函數(shù)可以設(shè)置參數(shù)的默認(rèn)值
D.成員函數(shù)可以是靜態(tài)的
25.若一個(gè)類(lèi)中含有純虛函數(shù),則該類(lèi)稱(chēng)為( )。
A.基類(lèi)
B.純基類(lèi)
C.派生類(lèi)
D.抽象類(lèi)
26.在C++中,關(guān)于下列設(shè)置參數(shù)默認(rèn)值的描述中,正確的是( )。
A.不允許設(shè)置參數(shù)的默認(rèn)值
B.設(shè)置參數(shù)默認(rèn)值只能在定義函數(shù)時(shí)設(shè)置
C.設(shè)置參數(shù)默認(rèn)值時(shí),應(yīng)該是先設(shè)置右邊的再設(shè)置左邊的
D.設(shè)置參數(shù)默認(rèn)值時(shí),應(yīng)該全部參數(shù)都設(shè)置
27.由于數(shù)據(jù)隱藏的需要,靜態(tài)數(shù)據(jù)成員通常被說(shuō)明為( )。
A.私有的
B.公有的
C.保護(hù)的
D.不可訪(fǎng)問(wèn)的
28.友元關(guān)系不能( )。
A.繼承
B.是類(lèi)與類(lèi)之間是關(guān)系
C.是一個(gè)類(lèi)的成員函數(shù)與另一個(gè)類(lèi)的關(guān)系
D.提高程序的運(yùn)行效率
29.動(dòng)態(tài)聯(lián)編所支持的多態(tài)性是( )。
A.虛函數(shù)
B.繼承
C.編譯時(shí)的多態(tài)性
D.運(yùn)行時(shí)的多態(tài)性
30.有下面類(lèi)的說(shuō)明,有錯(cuò)誤的語(yǔ)句是( )。 class X { A.int a=2; B.X(); public: C.X(int val); D.~X(); };
A.A
B.B
C.C
D.D
31.執(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)
32.一個(gè)( )允許用戶(hù)為類(lèi)定義一種模式,使得類(lèi)中的某些數(shù)據(jù)成員、某些成員函數(shù)的參數(shù)和返回值可以取任意數(shù)據(jù)類(lèi)型。
A.函數(shù)模板
B.模板函數(shù)
C.類(lèi)模板
D.模板類(lèi)
33.已知X類(lèi)中的一個(gè)成員函數(shù)說(shuō)明如下: void Set(X*a); 其中,X*a的含義是( )。
A.a是指向X類(lèi)對(duì)象的指針,用來(lái)作為Set()的形參
B.將X*a的計(jì)算結(jié)果傳遞給Set()函數(shù)
C.a是X類(lèi)對(duì)象的引用,用來(lái)做為Set()的形參
D.以上都不對(duì)
34.在下列選項(xiàng)中( )不是ostream類(lèi)的對(duì)象。
A.cin
B.cerr
C.clog
D.cout
35.關(guān)于對(duì)象成員的構(gòu)造函數(shù)的調(diào)用順序,說(shuō)法正確的是( )。
A.與它們?cè)诔蓡T初始化列表中給出的順序相同
B.與析構(gòu)函數(shù)的調(diào)用順序相同
C.與它們?cè)陬?lèi)中說(shuō)明順序相同
D.以上說(shuō)法都不對(duì)
二、判斷題 (共 15 道試題,共 30 分)
36.預(yù)定義的提取符和插入符是可以重載的。
37.類(lèi)模板可以生成若干個(gè)模板類(lèi),每個(gè)模板類(lèi)又可定義若干個(gè)對(duì)象。
38.cout后面的符號(hào)是<<。
39.C++的I/O系統(tǒng)通過(guò)流的機(jī)制實(shí)現(xiàn)文件和控制臺(tái)的輸入輸出操作。
40.在面向?qū)ο蟪绦蛟O(shè)計(jì)中,每個(gè)對(duì)象可以單獨(dú)設(shè)置屬性值。
41.C++基類(lèi)中,不能被派生類(lèi)繼承的有構(gòu)造函數(shù)和析構(gòu)函數(shù)。
42.運(yùn)算符重載可以改變運(yùn)算符的優(yōu)先級(jí)。
43.在類(lèi)內(nèi)部定義的public數(shù)據(jù)可以在類(lèi)外進(jìn)行存取。
44.面向?qū)ο蟪绦蛟O(shè)計(jì)方法中也會(huì)使用結(jié)構(gòu)化程序設(shè)計(jì)方法。
45.對(duì)象成員的訪(fǎng)問(wèn)與結(jié)構(gòu)變量成員的訪(fǎng)問(wèn)相同,使用運(yùn)算符.或->。
46.以友元方式重載運(yùn)算符時(shí),形參列表中至少有一個(gè)參數(shù)必須是自定義數(shù)據(jù)類(lèi)型。
47.可以在類(lèi)的構(gòu)造函數(shù)中對(duì)靜態(tài)數(shù)據(jù)成員進(jìn)行初始化。
48.在用class定義一個(gè)類(lèi)時(shí),數(shù)據(jù)成員和成員函數(shù)的默認(rèn)訪(fǎng)問(wèn)權(quán)限是public。
49.遇到一個(gè)問(wèn)題后,應(yīng)先分析問(wèn)題、設(shè)計(jì)算法,然后再編寫(xiě)程序。
50.使用關(guān)閉文件函數(shù)close()關(guān)閉一個(gè)文件時(shí),但流對(duì)象仍存在。
奧鵬,國(guó)開(kāi),廣開(kāi),電大在線(xiàn),各省平臺(tái),新疆一體化等平臺(tái)學(xué)習(xí)
詳情請(qǐng)咨詢(xún)QQ : 3230981406或微信:aopopenfd777

