《C++程序設計》2023年春學期在線作業(yè)2題目
試卷總分:100 得分:100
一、單選題 (共 20 道試題,共 60 分)
1.應在下列程序劃線處填入的正確語句是()。 #include class Base { public: void fun(){cout<<"Base::fun"<<ENDL;} }; class Derived:public Base { void fun() {_____________ //顯示調用基類的函數(shù)fun() cout<<"Derived::fun"<<ENDL; } };
A.fun();
B.Base.fun();
C.Base::fun();
D.Base->fun();
2.不能作為重載函數(shù)的調用依據(jù)的是()。
A.參數(shù)個數(shù)
B.參數(shù)類型
C.返回值類型
D.函數(shù)名稱
3.當將一個函數(shù)f()說明為另一個類B的友元后,函數(shù)f()能夠直接訪問類B的()。
A.只能是公有成員
B.只能是保護成員
C.只能是除私有成員之外的任何成員
D.具有任何權限的成員
4.若已知char str[20],有語句 cin>>str;,當輸入為:This is a cat,則str中的內容為()。
A.This is a cat
B.This
C.This is
D.This is a
5.要想以讀方式打開文件“D:\File.txt”,以下不能實現(xiàn)目的的語句是()。
A.ifstream inf("D:\\File txt",ios::in);
B.ifstream inf("D:\\File.txt");
C.ofstream inf("D:\\File.txt",ios::out);
D.fstream inf("D:\\File.txt",ios::in|ios::out);
6.如果表達式++j*k中的“++”和“*”都是重載的友元運算符,則采用運算符函數(shù)調用格式,該表達式還可以表示為()。
A.operator*(j,operator++(),k)
B.operator*(operator++(j),k)
C.operator++().operator*(k)
D.operator*(operator++(j))
7.如果類B在類A的基礎上構造,那么,就稱()。
A.類A為基類或父類,類B為超類或子類
B.類A為基類、父類或超類,類B為派生類或子類
C.類A為派生類,類B為基類
D.類A為派生類或子類,類B為基類、父類或超類
8.對于一個類,可以利用關鍵字()將其他類聲明為該類的友元。
A.public
B.private
C.protected
D.friend
9.下列()可以是虛函數(shù)。
A.構造函數(shù)
B.拷貝構造函數(shù)
C.靜態(tài)成員函數(shù)
D.析構函數(shù)
10.C++程序的執(zhí)行總是從()開始的。
A.main函數(shù)
B.第一行
C.頭文件
D.函數(shù)注釋
11.當需要使用ostream流類定義一個流對象并聯(lián)系一個字符串時,應在文件開頭使用#include命令,使之包含()文件。
A.iostream.h
B.stdlib.h
C.strstream.h
D.fstream.h
12.假定classA為一個類,f()為該類公有的數(shù)據(jù)成員,x為該類的一個對象,則訪問x對象中成員函數(shù)f()的格式為()。
A.x.f
B.x.f()
C.x->f
D.x->f()
13.下列語句中不存在類型轉換的是()。
A.int(1.1);
B.(double)2.2;
C.int i=1;
D.char c=97;
14.考慮函數(shù)原型void test(int a,int b=7,char="*"),下面的函數(shù)調用中,屬于不合法調用的是()。
A.test(5);
B.test(5,8);
C.test(6,"#")
D.test(0,0,"*");
15.實現(xiàn)運行時的多態(tài)性需要使用()。
A.重載函數(shù)
B.構造函數(shù)
C.析構函數(shù)
D.虛函數(shù)
16.C++流類庫預定義的與標準輸入設備相關聯(lián)的是()。
A.cin
B.cout
C.cerr
D.clog
17.析構函數(shù)是一種特殊的成員函數(shù),顯式定義時其訪問屬性應被定義為()。
A.public
B.private
C.protected
D.static
18.類的析構函數(shù)的作用是()。
A.一般成員函數(shù)的初始化
B.類的初始化
C.對象的初始化
D.刪除類創(chuàng)建的對象
19.運算符重載函數(shù)必須以特殊的關鍵字()開始。
A.virtual
B.operator
C.template
D.static
20.如果編程者沒有顯式定義構造函數(shù)(包括復制構造函數(shù)),C++編譯器就()。
A.出現(xiàn)編譯錯誤
B.沒有構造函數(shù)
C.必須顯示定義
D.隱式定義缺省的構造函數(shù)
二、判斷題 (共 20 道試題,共 40 分)
21.在刪除一個動態(tài)對象時,將自動調用該動態(tài)對象所屬類的析構函數(shù)。
22.cout通常與顯示器相連,cin通常與鍵盤相連。
23.類和對象之間的關系是具體和抽象的關系。
24.用對象訪問成員時應使用運算符“.",用指向對象的指針訪問成員時應使用運算符“->"。
25.在默認參數(shù)函數(shù)的原型中,所有取缺省值的參數(shù)都必須出現(xiàn)在不取缺省值的參數(shù)的右邊。
26.通過類對象可以訪問類中所有的成員。
27.類模板必須由程序員實例化成模板類。
28.使用setw()函數(shù)時需包含iomanip.h頭文件,而使用width()函數(shù)時需包含iostream.h頭文件。
29.拷貝構造函數(shù)是重載的構造函數(shù)。
30.文本文件結束標志為EOF(即-1)。
31.我們不能用抽象類定義對象,但可以定義對象的指針。
32.類成員是按照它們在成員初始化表中列出的順序進行初始化的,與它們在類里被聲明的順序無關。
33.C++利用函數(shù)重載實現(xiàn)面向對象程序設計的封裝性。
34.若左操作數(shù)為基本數(shù)據(jù)類型或其它類對象時,此運算符應以友元函數(shù)的方式重載。
35.類中含有指針數(shù)據(jù)成員時,若不定義拷貝構造函數(shù)則會產(chǎn)生指針懸掛問題。
36.類中可以包含各種數(shù)據(jù)類型的數(shù)據(jù)成員,但不能有其他類對象。
37.類是C++中預定義的數(shù)據(jù)類型。
38.當基類的構造函數(shù)沒有參數(shù),或沒有顯式定義構造函數(shù)時,派生類可以不定義構造函數(shù)。
39.ofstream是用于寫文件的文件流。
40.操縱符函數(shù)setw(n)只對下一個輸出有效。
奧鵬,國開,廣開,電大在線,各省平臺,新疆一體化等平臺學習
詳情請咨詢QQ : 3230981406或微信:aopopenfd777