20秋學期(1709、1803、1809、1903、1909、2003、2009 )《面向對象程序設計》在線作業(yè)(標準答案)

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

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

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




20秋學期(1709、1803、1809、1903、1909、2003、2009 )《面向對象程序設計》在線作業(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.公有繼承的保護成員

D.公有繼承的公有成員


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

A.從虛基類繼承的函數都是虛函數

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

C.只能通過指針或引用調用虛函數

D.抽象類中的成員函數都是虛函數


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

A.assign

B.insert

C.swap

D.find


5.執(zhí)行語句“string str("abc");”時,系統(tǒng)會自動調用string類的構造函數()。

A.string()

B.string(const char *s)

C.string(const string &str)

D.string(size_type n, char c)


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

A.一個類只能定義一個構造函數,但可以定義多個析構函數

B.一個類只能定義一個析構函數,但可以定義多個構造函數

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

D.構造函數可以指定返回類型,而析構函數不能指定任何返回類型,即使是void類型也不可以


7.已知函數原型:void f(int a, int b=3,char c='*'); 則下面的函數調用中,不合法的調用是()。

A.f(5)

B.f(5,8)

C.f(6, , '#')

D.f(0,0, '#')


8.( )是析構函數的特征。

A.析構函數可以有一個或多個參數

B.析構函數定義只能在類體內

C.析構函數名與類名不同

D.一個類中只能定義一個析構函數


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

A.10

B.20

C.30

D.不確定值


10.關于下面程序段說法正確的是( ) 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)函數中不能訪問對象的私有成員


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的成員函數不得訪問類B的所有成員

B.類A的成員函數可以訪問類B的所有成員

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

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


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

A.iostream

B.fstream

C.stdio

D.stdlib


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

A.私有成員

B.公有成員

C.保護成員

D.以上都可以


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

A.派生類可以訪問基類的所有數據成員,也能調用基類的所有成員函數

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

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

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


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

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.一個基類只能產生一個派生類

C.一個基類必須產生多個派生類

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


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

A.析構函數

B.數據成員

C.構造函數

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


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

A.類名

B.派生類指針

C.對象名

D.基類指針


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

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

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

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

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


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

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

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

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

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


24.已知X類.則當程序執(zhí)行到語句X *array=new X[2];時,調用了( )次構造函數。

A.0

B.1

C.2

D.3


25.下列關于構造函數調用順序的描述中,正確的是()。

A.創(chuàng)建派生類對象時,先調用基類的構造函數,后調用派生類的構造函數

B.創(chuàng)建基類對象時,先調用基類的構造函數,后調用派生類的構造函數

C.創(chuàng)建派生類對象時,先調用派生類的構造函數,后調用基類的構造函數

D.創(chuàng)建基類對象時,先調用派生類的構造函數,后調用基類的構造函數


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

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

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

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

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


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

A.成員函數

B.構造函數

C.析構函數

D.普通函數


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

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

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

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

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


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

A.友元函數

B.虛函數

C.構造函數

D.析構函數


30.下列關于構造函數的描述中,錯誤的是( )。

A.構造函數可以設置默認參數

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

C.構造函數可以對靜態(tài)數據成員進行初始化

D.構造函數可以重載


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++中,類與類之間的繼承關系具有( )。

A.自反性

B.對稱性

C.傳遞性

D.反對稱性


33.下面關于類的成員函數描述不正確的是()。

A.靜態(tài)成員函數內可以直接訪問類的非靜態(tài)成員數據

B.靜態(tài)成員函數內可以直接訪問類的靜態(tài)成員數據

C.非靜態(tài)成員函數可以直接訪問類的非靜態(tài)成員數據

D.非靜態(tài)成員函數可以直接訪問類的靜態(tài)成員數據


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

A.不同

B.相同

C.相容

D.部分相同


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

A.virtual

B.public

C.protected

D.private


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

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


37.派生類對基類繼承的成員函數進行重定義后,則通過派生類對象和基類對象調用的都是重定義后的成員函數。


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


39.定義重載函數時,應保證函數類型有所不同。


40.在一個類中最多只能定義1個構造函數和1個析構函數。


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


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


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


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


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


46.cin是輸出流的一個對象,處理標準輸出。


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


48.編程是將所設計的算法轉換成計算機能夠運行的代碼的過程。


49.定義模板的關鍵字是template。


50.程序設計過程是指編寫程序的過程。



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

    回到頂部