20秋學(xué)期(1709、1803、1809、1903、1909、2003、2009 )《面向?qū)ο蟪绦蛟O(shè)計》在線作業(yè)(標(biāo)準(zhǔn)答案)

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

發(fā)布時間:2020/10/24 22:31:23來源:admin瀏覽: 64 次

可做奧鵬院校所有作業(yè),畢業(yè)論文,咨詢請?zhí)砑観Q:3230981406      微信:aopopenfd777




20秋學(xué)期(1709、1803、1809、1903、1909、2003、2009 )《面向?qū)ο蟪绦蛟O(shè)計》在線作業(yè)

試卷總分:100  得分:100

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

1.已知“int a=10,*p;int *&r=p; r=&a;*p=20;cout<<a;”,則輸出為()。

A.10

B.20

C.不確定值

D.程序有錯誤


2.可以用p.a的形式訪問派生類對象p的基類成員a其中a是( )。

A.私有繼承的公有成員

B.公有繼承的私有成員

C.公有繼承的保護(hù)成員

D.公有繼承的公有成員


3.下列關(guān)于虛函數(shù)的說明中,正確的是()。

A.從虛基類繼承的函數(shù)都是虛函數(shù)

B.虛函數(shù)不得是靜態(tài)成員函數(shù)

C.只能通過指針或引用調(diào)用虛函數(shù)

D.抽象類中的成員函數(shù)都是虛函數(shù)


4.在一個string類對象表示的字符串中查找子串,應(yīng)該使用string類的()函數(shù)。

A.assign

B.insert

C.swap

D.find


5.執(zhí)行語句“string str("abc");”時,系統(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)


6.下面說法中正確的是( )。

A.一個類只能定義一個構(gòu)造函數(shù),但可以定義多個析構(gòu)函數(shù)

B.一個類只能定義一個析構(gòu)函數(shù),但可以定義多個構(gòu)造函數(shù)

C.構(gòu)造函數(shù)與析構(gòu)函數(shù)同名,只要名字前加了一個求反符號(~)

D.構(gòu)造函數(shù)可以指定返回類型,而析構(gòu)函數(shù)不能指定任何返回類型,即使是void類型也不可以


7.已知函數(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, '#')


8.( )是析構(gòu)函數(shù)的特征。

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

B.析構(gòu)函數(shù)定義只能在類體內(nèi)

C.析構(gòu)函數(shù)名與類名不同

D.一個類中只能定義一個析構(gòu)函數(shù)


9.已知“int a=10;int &r=a; r=r+20;cout<<a;”,則輸出為()。

A.10

B.20

C.30

D.不確定值


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

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

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

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

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


11.類aClass的定義如下: class aClass {public: aClass(){} aClass(int i){value=new int(i);} int *value; } 若要對類中的value賦值,則下面的語句中,正確的是()。

A.aClass my; my.value=10;

B.aClass my; *my.value=10;

C.aClass my; my.*value=10;

D.aClass my(10);


12.包含類fstream定義的頭文件是( )。

A.fstream

B.ofstream

C.ifstream

D.iostream


13.如果類A被說明成類B的友元,則()。

A.類A的成員函數(shù)不得訪問類B的所有成員

B.類A的成員函數(shù)可以訪問類B的所有成員

C.類A的成員即類B的成員

D.類B的成員即類A的成員


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

A.iostream

B.fstream

C.stdio

D.stdlib


15.派生類中的成員不能訪問基類中的()。

A.私有成員

B.公有成員

C.保護(hù)成員

D.以上都可以


16.下列關(guān)于類的繼承描述中,( )是錯誤的。

A.派生類可以訪問基類的所有數(shù)據(jù)成員,也能調(diào)用基類的所有成員函數(shù)

B.派生類也是基類,但基類不一定具有派生類的全部屬性和方法

C.繼承描述類的層次關(guān)系,派生類可以具有與基類相同的屬性和方法

D.一個基類可以有多個派生類,一個派生類可以有多個基類


17.要求打開文件 d:\file.dat,可寫入數(shù)據(jù),正確的語句是( )。

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);


18.空類的聲明( )是正確的。

A.class類名;

B.class類名{};

C.class類名{}

D.class類名


19.對于多重繼承,有( )。

A.一個派生類只能有一個基類

B.一個基類只能產(chǎn)生一個派生類

C.一個基類必須產(chǎn)生多個派生類

D.一個派生類可有多個基類


20.( )的功能是對對象進(jìn)行初始化。

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

B.數(shù)據(jù)成員

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

D.靜態(tài)數(shù)據(jù)成員


21.在C++中,要實現(xiàn)動態(tài)聯(lián)編,可以使用( )調(diào)用虛函數(shù)。

A.類名

B.派生類指針

C.對象名

D.基類指針


22.在公有派生情況下,有關(guān)派生類對象和基類對象的關(guān)系,下列敘述不正確的是()。

A.派生類的對象可以直接訪問基類的所有成員

B.派生類的對象可以初始化基類的引用

C.派生類的對象不可以直接訪問基類中的私有成員

D.派生類的對象的地址可以賦給指向基類的指針


23.下列關(guān)于C++類的描述中錯誤的是( )。

A.類與類之間可以通過一些手段進(jìn)行通信和聯(lián)絡(luò)

B.類用于描述事物的屬性和對事物的操作

C.類與類之間必須是平等的關(guān)系,而不能組成層次關(guān)系

D.類與類之間可以通過封裝而具有明確的獨立性


24.已知X類.則當(dāng)程序執(zhí)行到語句X *array=new X[2];時,調(diào)用了( )次構(gòu)造函數(shù)。

A.0

B.1

C.2

D.3


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

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

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

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

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


26.對基類和派生類的描述中錯誤的是( )。

A.派生類是基類的具體化

B.基類繼承了派生類的屬性

C.派生類是基類定義的延續(xù)

D.派生類是基類的特殊化


27.聲明一個類的對象時,系統(tǒng)自動調(diào)用( )函數(shù)。

A.成員函數(shù)

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

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

D.普通函數(shù)


28.在公有派生情況下,有關(guān)派生類對象和基類對象的關(guān)系,不正確的敘述是()。

A.派生類的對象可以賦給基類對象

B.派生類的對象可以初始化基類的引用

C.派生類的對象可以直接訪問基類的成員

D.派生類的對象的地址可以賦給指向基類的指針


29.在使用類創(chuàng)建對象時,系統(tǒng)會自動調(diào)用該對象的()完成對象中數(shù)據(jù)成員的初始化等操作。

A.友元函數(shù)

B.虛函數(shù)

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

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


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

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

B.構(gòu)造函數(shù)在說明類變量時自動執(zhí)行

C.構(gòu)造函數(shù)可以對靜態(tài)數(shù)據(jù)成員進(jìn)行初始化

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


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

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;


32.在C++中,類與類之間的繼承關(guān)系具有( )。

A.自反性

B.對稱性

C.傳遞性

D.反對稱性


33.下面關(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ù)


34.在派生類中,重載一個虛函數(shù)時,要求函數(shù)名、參數(shù)的個數(shù)、參數(shù)的類型、參數(shù)的順序和函數(shù)的返回值( )。

A.不同

B.相同

C.相容

D.部分相同


35.用于類中虛成員函數(shù)說明的關(guān)鍵字( )。

A.virtual

B.public

C.protected

D.private


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

36.以app方式打開文件時,當(dāng)前的讀指針和寫指針都定位于文件尾。


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


38.C++的I/O系統(tǒng)通過流的機(jī)制實現(xiàn)文件和控制臺的輸入輸出操作。


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


40.在一個類中最多只能定義1個構(gòu)造函數(shù)和1個析構(gòu)函數(shù)。


41.派生類是從基類派生出來,它不能再生成新的派生類。


42.C語言中scanf命令在c++中改用cin。


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


44.對象數(shù)組的元素可以是不同類的對象。


45.在一個類中聲明了某個靜態(tài)數(shù)據(jù)成員,并在類外給出其定義和初始化后,若未定義該類的對象,該靜態(tài)數(shù)據(jù)成員則不存在。


46.cin是輸出流的一個對象,處理標(biāo)準(zhǔn)輸出。


47.說明或定義對象時,類名前面不需要加class關(guān)鍵字。


48.編程是將所設(shè)計的算法轉(zhuǎn)換成計算機(jī)能夠運行的代碼的過程。


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


50.程序設(shè)計過程是指編寫程序的過程。



  • 上一篇:
  • 下一篇:
  • 作業(yè)咨詢 論文咨詢
    微信客服掃一掃

    回到頂部