物件導向程式設計C期末試卷及標準答案B

2021-03-04 01:43:02 字數 3730 閱讀 7513

班級姓名: 學號分數:

試卷說明:本套試題共四個大題,全部題目都答在答題紙上,寫在其他地方均無效。

(答題紙在本套試卷的第8頁上)

一、單項選擇題(每小題2分,共40分)

1、關於c++與c語言關係的描述中,( d )是錯誤的。

a.c語言是c++語言的乙個子集 b.c語言與c++語言是相容的

c.c++語言對c語言進行了一些改進 d.c++語言和c語言都是物件導向的

2、已知:int m=10; 下列表示引用的方法中,( a )是正確的。

a.int &x=m; b.int &y=10; c.int &z; d.float &t=&m;

3、考慮下面的函式原型宣告:void testdefaulparam(int a,int b=7,char z='*');

下面函式呼叫中,不合法的是( c )。

a.testdefaulparam(5b.testdefaulparam(5,8);

c.testdefaulparam(5d.testdefaulparam(0,0,'*');

4、系統在呼叫過載函式時往往根據一些條件確定哪個過載函式被呼叫,在下列選項中,不能作為依據的是(a )。

a.函式的返回值型別 b.引數的型別 c.函式名稱 d.引數個數

5、下列有關c++類的說法中,不正確的是( d )。

a.類是一種使用者自定義的資料型別

b.只有類中的成員函式或類的友元函式才能訪問類中的私有成員

c.在類中,如果不做特別說明,所有成員的訪問許可權均為私有的

d.在類中,如果不做特別說明,所有成員的訪問許可權均為公用的

6、已知x類,則當程式執行到語句x array[3];時,呼叫了( d )次建構函式。

a.0b.1c.2d.3

7、有關析構函式的說法,不正確的是( b )。

a.析構函式有且僅有乙個

b.析構函式和建構函式一樣可以有形參

c.析構函式的功能是在系統釋放物件之前作一些記憶體清理工作

d.析構函式無任何函式型別

8、類定義的內容允許被其物件無限制地訪問的是( c )。

a.private 部分 b. protected 部分 c.public 部分 d.以上都不對

9、關於常資料成員的說法,不正確的是( d )。

a.常資料成員的定義形式與一般常變數的定義形式相同,只不過常資料成員的定義必須出現在類體中

b.常資料成員必須進行初始化,並且不能被更新

c.常資料成員通過建構函式的成員初始化列表進行初始化

d.常資料成員可以在定義時直接初始化

10、運用運算子delete刪除乙個動態物件時( c )。

a.系統首先為該動態物件呼叫建構函式,再釋放其占用的記憶體

b.系統首先釋放該動態物件占用的記憶體,再為其呼叫建構函式

c.系統首先為該動態物件呼叫析構函式,再釋放其占用的記憶體

d.系統首先釋放動態物件占用的記憶體,再為其呼叫析構函式

11、可以在類外用p.a的形式訪問派生類物件p的基類成員a,其中a是( d )。

a.私有繼承的公用成員 b.公用繼承的私有成員

c.公用繼承的保護成員 d.公用繼承的公用成員

12、在公用繼承方式下,有關派生類物件和基類物件的關係,不正確的敘述是( c )。

a.派生類的物件可以賦給基類的物件

b.派生類的物件可以初始化基類的引用

c.派生類的物件可以直接訪問基類中的成員

d.派生類的物件的位址可以賦給指向基類的指標

13、設定虛基類的目的是( b )。

a.簡化程式 b.消除二義性 c.提高執行效率 d.減少目標**

14、在c++中,用於實現動態多型性的是( d )。

a.內聯函式 b.過載函式 c.模板函式 d.虛函式

15、不能說明為虛函式的是( b )。

a.析構函式 b.建構函式 c.類的成員函式 d.以上都不對

16、如果乙個類至少有乙個純虛函式,那麼就稱該類為( a )。

a.抽象類 b.派生類 c.純基類 d.以上都不對

17、下面關於友元的描述中,錯誤的是( d )。

a.友元函式可以訪問該類的私有資料成員

b.乙個類的友元類中的成員函式都是這個類的友元函式

c.友元可以提高程式的執行效率

d.類與類之間的友元關係可以繼承

18、下列運算子中,( c )運算子在c++中不能被過載。

abcd.new

19、模板的使用實際上是將類模板例項化成乙個( c )。

a.函式b.物件c.類 d.抽象類

20、假定myclass為乙個類,則該類的拷貝建構函式的宣告語句為( c )。

a.myclass(myclass xb.myclass&(myclass x)

c.myclass(myclass &xd.myclass(myclass *x)

二、填空題(前16個空,每空1分,後2個空,每空2分,共20分)

1、類和物件的關係可表述為:類是物件的抽象 ,而物件則是類的例項 。

2、在c++中,三種繼承方式的說明符號為 publicprivate 和 protected ,如果不加說明,則預設的繼承方式為 private 。

3、如果只想保留公共基類的乙個複製,就必須使用關鍵字 virtual 把這個公共基類宣告為虛基類。

4、若要把void fun()定義為類a的友元函式,則應在類a的定義中加入語句 friend void fun(a &a) 。

5、類的靜態成員分為靜態資料成員和靜態成員函式

6、運算子過載要求保持其原來的運算元個數、 結合性 、優先順序和語法結構。

7、通過關鍵字 template 可以宣告模板,通過關鍵字 class 指定函式模板的型別引數,有幾個型別引數就有幾個型別關鍵字。

8、列出c++中兩種使用者自定義的資料型別: 類結構體 。

9、建構函式的作用是在建立物件時初始化物件的資料成員

10、後置自增運算子「++」過載為類的成員函式(設類名為a)的形式為 a operator++(int) 。

三、閱讀下面3個程式,寫出程式執行時輸出的結果:(共13分)

1、#include

using namespace std;

void fun(int &a,int &b)

void exchange(int &a,int &b,int &c)

int main()

2、#include

using namespace std;

class date

;date::date(int m,int d,int y):month(m),day(d),year(y)

date::date(int m,int d):month(m),day(d)

date::date(int m):month(m)

date::date()

void date::display()

3、#include

using namespace std;

class a};

C物件導向程式設計期末考試試題

杭州電子科技大學學生考試卷 a 卷 一 判斷題 15分 對的打 錯的打 1.友元函式用於允許乙個函式訪問不相關類的私有部分。2.建構函式可以被繼承。3.動態繫結的多型性是通過虛函式實現的。4.在c 中,傳引用呼叫等同於傳位址呼叫。5.過載函式必須有不同的引數列表。6.可以用delete釋放不是用ne...

山東大學年物件導向程式設計期末考試試卷 回憶版

一 1.比較重定義和改寫的相同點和不同點,在方法繫結時候的區別。2.用 舉例說明this的多型性。3.用物件導向的語言說明替換。4.為什麼用組合服復用而不是繼承復用。animal plant。給出不同簽名問執行哪乙個方法並給出理由,參考課本91頁dessert甜點的例子。二 1.零件總 totalp...

期末試卷評分標準 09 10 1《高階語言程式設計》B

山東財政學院2009 2010學年第一學期 高階語言程式設計 試卷b參 及評分標準 考試方式 閉卷 開卷 閉卷 其他 開課學院計算機資訊工程學院使用年級2009電本出題教師周立力 注 標準答案 參 要點及評分標準須寫清題號 每小題得分 共得分等。此格式為題頭,如本頁不夠,後面請附相同規格 a4 的紙...