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