c++期末考試試卷
《c++期末考試試卷》由會員分享,可在線閱讀,更多相關《c++期末考試試卷(53頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、模擬題一 一、單項選擇題(本大題共10 小題,每小題2 分,共20 分)在每小題列出的四個選項中只有一個選項是符合題目要求的,請將其代碼填在題后的括號內。錯選或未選均無分。 1.在C++中,函數(shù)原型不能標識( ) A.函數(shù)的返回類型 B.函數(shù)參數(shù)的個數(shù) C.函數(shù)參數(shù)類型 D.函數(shù)的功能 2.在C++程序中,對象之間的相互通信通過( ) A.繼承實現(xiàn) B.調用成員函數(shù)實現(xiàn) C.封裝實現(xiàn) D.函數(shù)重載實現(xiàn) 3.對于任意一個類,析構函數(shù)的個數(shù)最多為( ) A.0 B.1 C.2 D.3
2、
4.下面函數(shù)模板定義中不正確的是( )
A.template
3、app|ios::binary)?的功能是建立流對象f,試圖打開文件SALARY.DAT 并與之連接,并且( ) A.若文件存在,將文件寫指針定位于文件尾;若文件不存在,建立一個新文件 B.若文件存在,將其置為空文件;若文件不存在,打開失敗 C.若文件存在,將文件寫指針定位于文件首;若文件不存在,建立一個新文件 D.若文件存在,打開失??;若文件不存在,建立一個新文件 7.下面說法正確的是( ) A.內聯(lián)函數(shù)在運行時是將該函數(shù)的目標代碼插入每個調用該函數(shù)的地方 B.內聯(lián)函數(shù)在編譯時是將該函數(shù)的目標代碼插入每個調用該函數(shù)的地方 C.類的內聯(lián)函數(shù)必須在類體內定義 D.類的內聯(lián)函數(shù)必
4、須在類體外通過加關鍵字inline 定義 8.可以用p.a 的形式訪問派生類對象p 的基類成員a,其中a 是( ) A.私有繼承的公有成員 B.公有繼承的私有成員 C.公有繼承的保護成員 D.公有繼承的公有成員 9.在公有派生情況下,有關派生類對象和基類對象的關系,不正確的敘述是( ) A.派生類的對象可以賦給基類的對象 B.派生類的對象可以初始化基類的引用 C.派生類的對象可以直接訪問基類中的成員 D.派生類的對象的地址可以賦給指向基類的指針 10.對于類定義 class A{ public:virtual void func1( ){ } void fu
5、nc2( ){ }
}?
class B:public A{
public:void func1( ){cout<<″class B func 1″< 6、
二、填空題(本大題共10 小題,每小題2 分,共20 分)不寫解答過程,將正確的答案寫在每小題的橫線處。錯填或不填均無分。
11.定義類的動態(tài)對象數(shù)組時,系統(tǒng)只能夠自動調用該類的_________構造函數(shù)對其進行初始化。
12.在C++程序設計中,建立繼承關系倒掛的樹應使用_________繼承。
13.表達式cout< 7、nst p=″hello″;所定義的指針p 和它所指的內容都不能被_________。
17.假定AB 為一個類,則語句AB(AB&x);為該類_________構造函數(shù)的原型說明。
18.將關鍵字const 寫在成員函數(shù)的_________和_________之間時,所修飾的是this 指針。
19.在C++中,訪問一個對象的成員所用的運算符是_________,訪問一個指針所指向的對象的成員所用的運算符是_________。
20.派生類從一個或多個以前定義的該類的____
模擬題一參考答案
一、單項選擇題(本大題共10 小題,每小題2 分,共20 分)
1. 8、D 2.B 3.B 4.A 5.A
6.A 7.B 8.D 9.C 10.C
第二部分非選擇題(共80 分)
二、填空題(本大題共10 小題,每小題2 分,共20 分)
11.無參
12.單一(或單)
13.cout<<′\n′(或cout<<′\12′,或cout<<′\xA′,或其它等價形式)
14.訪問控制(或其它等價形式)
15.編譯時的(或靜態(tài),或操作重載)
運行時的(或動態(tài),或虛函數(shù))
16.改變(或重新賦值)
17.復制初始化(或拷貝)
18.函數(shù)頭(或參數(shù)表) 函數(shù)體
19.成員選擇運算符(或“.”) 成員訪問運算符(或“>”)
20.基類
9、
模擬題二
一、單項選擇題(每題2分,共20分)
1. 派生類對象可訪問基類中的什么成員(? ???)
A.公有繼承的公有成員??????B.公有繼承的私有成員???
C.公有繼承的保護成員??????D.私有繼承的公有成員
2. 定義析構函數(shù)時,應該注意(?? ??)。???
A.其名與類名完全相同???????B.返回類型是void類型???
C.無形參,也不可重載?????? D.函數(shù)體中必須有delete語句
3. 如果類A被說明成類B的友元,則( ???)。???
A.類A的成員即類B的成員??? B.類B的成員即類A的成員? 10、??
C.類A的成員函數(shù)不得訪問類B的成員?D.類B不一定是類A的友元?
4. 應在下列程序劃線處填入的正確語句是( )
#include
class?Base
{? public:
void?fun(){cout<<"Base::fun"< 11、e.fun();?
C. Base::fun(); D.?Base->fun();
5. 面向對象程序設計將數(shù)據(jù)與(??? ?)放在一起,做為一個相互依存、不可分割的整體來處理。
A. 對數(shù)據(jù)的操作 B. 信息 C. 數(shù)據(jù)隱藏 D. 數(shù)據(jù)抽象
6. 在類中聲明轉換函數(shù)時不能指定(??? ?)。
???A. 參數(shù)?????B. 訪問權限?? C. 操作????D. 標識符??
7. 在派生類中重新定義虛函數(shù)時必須在(??? ?)方面與基類保持一致。???
A. 參數(shù)類型????B. 參數(shù)名字? C. 操 12、作內容???D. 賦值
8. 下面關于C++中類的繼承與派生的說法錯誤的是( )。
A.基類的protected成員在公有派生類的成員函數(shù)中可以直接使用
B.基類的protected成員在私有派生類的成員函數(shù)中可以直接使用
C.公有派生時,基類的所有成員訪問權限在派生類中保持不變
D.基類的protected成員在保護派生類的成員函數(shù)中可以直接使用
9. 重載賦值操作符時,應聲明為(?? ??)函數(shù)。???
A. 友元??????B. 虛?? C. 成員??????D. 多態(tài)
10. 語句?ofstream?f(″SALARY.DAT″, 13、ios::app|ios::binary);?的功能是建立流對象?f,試圖打開文件?SALARY.DAT?并與之連接,并且?( ?)?
A.?若文件存在,將文件寫指針定位于文件尾;若文件不存在,建立一個新文件?
B.?若文件存在,將其置為空文件;若文件不存在,打開失敗?
C.?若文件存在,將文件寫指針定位于文件首;若文件不存在,建立一個新文件
D.?若文件存在,打開失?。蝗粑募淮嬖?,建立一個新文件?
二、填空題(每空2分,共30分)
1. 假定?AB?為一個類,則語句?AB(AB&x)?;為該類?_________?構造函數(shù)的原型說明。
14、
2. C++?支持的兩種多態(tài)性分別是?_________?多態(tài)性和?_________?多態(tài)性。
3. 定義類的動態(tài)對象數(shù)組時,系統(tǒng)只能夠自動調用該類的?_________?構造函數(shù)對其進行初始化。
4. 運算符重載時,其函數(shù)名由 構成。成員函數(shù)重載雙目運算符時,左操作數(shù)是 ,右操作數(shù)是 。
5. C++標準庫中的異常層次的根類為 類;MFC類庫中絕大多數(shù)類都源自根類 類。
6. 在下面橫線處填上適當字句,完成類中成員函數(shù)的定義。?
15、class?A{?
int?*?a;?
public:?
A(int?aa=0)?{?
a=_________; //?用?aa?初始化?a?所指向的動態(tài)對象?
}?
~?A(){_________;}//?釋放動態(tài)存儲空間?
};?
7.C++支持面向對象程序設計的四個要素是:封裝性、繼承性、 和 。
8.模板分為 模板和 模板。
模擬題二參考答案
一、單項選擇題(每題2分,共20分)
1.A 2. C 3. D 4. C 5. A 6. A 7. A 8 16、. C 9. C 10. A
二、填空題(每空2分,共30分)
1. 拷貝或復制
2. 運行(時) 編譯(時)(二者位置可互換)(或改為靜態(tài)和動態(tài)也可)
3. 無參(缺省或默認均可)
4. operator運算符(運算符可寫為@,若沒寫扣1分) (當前)對象 函數(shù)的形參(參數(shù))
5. exception(若e寫為大寫字母則扣0.5分,單詞稍微寫錯扣0.5分) CObject(字母CO為大寫字母,寫為小寫各扣0.5分)
6. new int(aa) delete a(有new、delete各給1分,int給0.5分)
7. 抽象性 多態(tài)性(二者位置可互換)
8. 17、 類 函數(shù)(二者位置可互換)
模擬題三
一、單項選擇題(每題2分,共20分)
1. 在下面選項中,對類的拷貝構造函數(shù)的聲明形式是( )
A. A::A(&) B. A::A(constA&) C. A::A(A) D. void A::A(A&a)
2. 下面關于成員函數(shù)特征的描述中,錯誤的是( )
A.成員函數(shù)不可以設置參數(shù)的默認值 B.成員函數(shù)可以重載
C.成員函數(shù)可以是內聯(lián)函數(shù) D.成員函數(shù)可以是靜態(tài)的
3. 下面關于類模板敘述不正確的是( )
A.可以有多個構造函數(shù) 18、 B. 類模板是模板類的實例
C. 一個類模板可以用來實例化多個模板類 D. 類模板可以有多個參數(shù)
4. 要使一個類成為抽象類,這個類應具有的條件是( )
A.至少有一個純虛函數(shù)? B. 至少有一個虛函數(shù)
C. 只含有一個純虛函數(shù) ?D.?只含有一個虛函數(shù)
5. 有關運算符重載正確的描述是( )
A. C++語言允許在重載運算符時改變運算符的操作個數(shù)
B. C++語言允許在重載運算符時改變運算符的優(yōu)先級
C. C++語言允許在重載運算符時改變運算符的結合性
D. C++語言允許在重載運算符時改變運算符的原來的 19、功能
6. 下列說法正確的是( )。
A. 一個類的對象可以是另一個類的成員
B. 一個類可以作為另一個類的派生類
C. 一個類可以在另一個類定義體進行定義
D. 以上說法均正確
7. 有如下程序:
#include 20、+1),c(n){}
~DERIVED(){cout< 21、lass *p,my;p=&my;正確的描述是( )。
A. 語句p=&my;是把對象my賦值給指針變量p;
B. 語句MyClass *p,my;會調用兩次類MyClass的構造函數(shù)
C. 對語句*p.SetValue(5)的調用是正確的
D. 語句p->SetValue(5)與my.SetValue(5)等價
9. 下列各類函數(shù)中, 不是類的成員函數(shù)。
A. 構造函數(shù) B. 析構函數(shù) C. 友元函數(shù) D. 拷貝構造函數(shù)
10.?派生類的對象對它的基類成員中 是可以訪問的。
A. 公有繼承的公有成員 B. 公有繼 22、承的私有成員
C. 公有繼承的保護成員 D. 私有繼承的公有成員
二、填空題(每空2分,共30分)
1. 定義內聯(lián)函數(shù)所用的關鍵字 ,定義友元所用的關鍵字為 。
2. 當一個派生類具有多個基類時,這種繼承方式稱為_ __。
3. 通過一個構造函數(shù)調用虛函數(shù)時,C++系統(tǒng)對該調用采用 聯(lián)編。
4. 任何類中允許有 、 、 三種訪問控制類型的成員,數(shù)據(jù)成員和成員函數(shù)的默認類型為 。
5. 只有在 23、 繼承的情況下,基類和派生類之間才有賦值兼容性規(guī)則。
6. C++標準庫中的異常層次的根類定義在庫的頭文件 中。
7. 運算符重載使用的兩種方式是 和 。
8. C++支持面向對象程序設計的四個要素是:抽象性、 、 和 。
模擬題三參考答案
一、單項選擇題(每題2分,共20分)
1.B 2. A 3. B 4. A 5. D 6. D 7. C 8. D 9. C 10. A
二、填空題( 24、每空2分,共30分)
9. inline friend
10. 多重繼承
11. 靜態(tài)
12. private protected public(三者位置可以互換) private
13. 公有
14. exception.h
15. 成員函數(shù) 友元函數(shù)(二者位置可互換)
多態(tài)性 繼承性 封裝性(三者位置可互換)
模擬題四
一、單項選擇題(每題2分,共20分)
1. 下面有關構造函數(shù)和new運算符關系正確的說法是( )
A.new運算符不調用構造函數(shù)
B. 構造函數(shù)一定調用new運算符
C.當生成新類的實例時,先調用new運算符 25、,再調用構造函數(shù)進行初始化
D. 當new運算符動態(tài)產生類的對象時,new運算符也自動調用構造函數(shù)
2. 下面有關類性質的說法錯誤的是( )
A.一個類可以有多個構造函數(shù),但只有一個析構函數(shù)
B.析構函數(shù)和構造函數(shù)都不能有返回類型
C.不能給析構函數(shù)指定參數(shù)
D.一個類中不可以聲明具有類類型的數(shù)據(jù)成員
3. 下面關于友元函數(shù)描述正確的是( )
A.友元函數(shù)是類的成員
B.友元函數(shù)在類的外部聲明
C.友元函數(shù)在類中聲明
D. 友元函數(shù)能夠派生
4. 下面敘述正確的是( )
A. 派生類不可以使用私用派生
B. 保護派生時,基類的保護成員在派生類中是公有 26、的
C. 對基類成員的訪問允許二義性
D. 賦值兼容規(guī)則也適用于多重繼承的組合
5. 有關運算符重載正確的描述是( )
A. C++語言允許在重載運算符時改變運算符的操作個數(shù)
B. C++語言允許在重載運算符時改變運算符的優(yōu)先級
C. C++語言允許在重載運算符時改變運算符的結合性
D. C++語言允許在重載運算符時改變運算符的原來的功能
6. 下面描述中,表達錯誤的是( )
A. 公有繼承時基類中的public成員在派生類中仍是public的
B. 公有繼承是基類中的private成員在派生類中仍是private的
C. 公有繼承時基類中的protec 27、ted成員在派生類中仍是protected的
D. 私有繼承時基類中的public成員在派生類中是private的
7. 拷貝構造函數(shù)的參數(shù)是( )
A. 某個對象名 B. 某個對象的成員名
C. 某個對象的引用名 D. 某個對象的指針名
8. 下列關于構造函數(shù)的描述中,錯誤的是( )
A.構造函數(shù)可以設置默認參數(shù) B.構造函數(shù)在定義類對象時自動執(zhí)行
C.構造函數(shù)可以是內聯(lián)函數(shù) D.構造函數(shù)不可以重載
9. 數(shù)組作為函數(shù)的形參時,把數(shù)組名作為實參,傳遞給函數(shù)的是( )
A.該數(shù)組的首地址 B.該數(shù)組的元素個數(shù)
28、
C.該數(shù)組中的各元素值 D.該數(shù)組的大小
10. 通過一個析構函數(shù)調用虛函數(shù)時,C++系統(tǒng)對該調用采用( )。
A. 動態(tài)聯(lián)編 B. 靜態(tài)聯(lián)編 C. 不確定是哪種聯(lián)編 D.函數(shù)重載
二、填空題(每空2分,共30分)
1.成員名限定的符號是 ,它可以在引用成員時避免 。
2.只有在 繼承的情況下,基類和派生類之間才有賦值兼容性規(guī)則。
3. 模板分為 模板和 模板。
4. 在用class定義一個類時,數(shù)據(jù)成員和成員函數(shù)的默認訪問權限是 。
5. 已知i 29、nt DBL(int n){return n+n;}和long DBL(long n){return n+n;}是一個函數(shù)模板的兩個實例,則該函數(shù)模板的定義是 。(要求寫出函數(shù)模板的完整定義)
6. 靜態(tài)數(shù)據(jù)成員必須在 進行初始化。
7. 含有純虛函數(shù)的類稱為 。
8. 若Queue是一個類,aQueue是它的一個對象,而且該類中定義了一個靜態(tài)成員函數(shù)show()則在類外對該成員的函數(shù)進行調用的方式可以為 和 。
9. 定義內聯(lián)函數(shù)所用的關鍵字為 ,定義友元所用的關鍵字為 30、 。
10. 使用成員函數(shù)重載運算符時,若運算符是二元的,則參數(shù)表中有 個操作數(shù),此時 作為此運算符的左操作數(shù)。
模擬題四參考答案
一、單項選擇題(每題2分,共20分)
1. D 2. D 3. C 4. D 5. D
6. B 7. C 8. D 9. A 10. B
二、填空題(每空2分,共30分)
1. :: 二義性 2. 公有 3. 類 函數(shù) 4. private
5. templat 31、e 32、的不正確方式是()。
A. string str(“OK”); B. string str=”O(jiān)K”;
C. string str; D. string str=’OK’;
3. 面關于C++中類的繼承與派生的說法錯誤的是( )
A.基類的protected成員在公有派生類的成員函數(shù)中可以直接使用
B.基類的protected成員在私有派生類的成員函數(shù)中可以直接使用
C.私有派生時,基類的所有成員訪問權限在派生類中保持不變
D.繼承可以分為單一繼承與多重繼承
4. 面向對象程序設計將數(shù)據(jù)與( )放在一起,做為一個相互依存、不可分割的整體來 33、處理。
A. 對數(shù)據(jù)的操作 B. 信息 C. 數(shù)據(jù)隱藏 D.數(shù)據(jù)抽象
5. 一個類的析構函數(shù) 。
A.唯一的 B.允許重載 C.至多可有兩個 D.只能是缺省的
6. 下列各類函數(shù)中,( )不是類的成員函數(shù)。
A. 構造函數(shù) B. 析構函數(shù) C. 友元函數(shù) D. 拷貝構造函數(shù)
7. 在下面選項中,對類的拷貝構造函數(shù)的聲明形式是( )
A.A::A(&) B. A::A(constA&) C. A::A(A) D. void A::A(A&a)
8. 下面關于靜態(tài)成員描述正確的是( )
A. 靜態(tài) 34、成員是對象的數(shù)據(jù)成員
B. 靜態(tài)成員是對象的成員
C. 靜態(tài)成員是對象的成員函數(shù)
D. 靜態(tài)成員不是對象的成員
9. 下面關于關于成員函數(shù)特征的描述中,錯誤的是( )
A.成員函數(shù)不可以設置參數(shù)的默認值
B.成員函數(shù)可以重載
C.成員函數(shù)可以是內聯(lián)函數(shù)
D.成員函數(shù)可以是靜態(tài)的
10. 下面敘述正確的是( )
A.基類的保護成員在派生類中仍然是保護的
B.基類的公有成員在派生類中仍然是公有的
C.基類的私有成員在派生類中是私有的
D.從基類派生時,可以有3種派生方法
二、改錯題,指出程序中的錯誤并改正之。
1. class base {
int a; 35、
public:
int b;int f(int i,int j);
};
class derive:base{
int c;
public:
int base::b;
base::f(int i,int j);
};
[1]
[2]
2. #include 36、ivate:
int m; };
void main()
{ A a(5);
a.m+=10;
a.show();
}
[3]
[4]
[5]
3. #include 37、n a;}
static int getb(){return b;}
void show(){cout< 38、8. B 9. A 10. D
二、改錯題,指出程序中的錯誤并改正之。
[1] int base::b;
[2] base::f(int i,int j);
[1] base::b; (或訪問聲明僅僅調整名字的訪問,不可為它說明任何類型)
[2] base::f; (或訪問聲明不應說明函數(shù)參數(shù))
[3] void A(int i=0){m=i;}
[4] void ~A(){}
[5] a.m+=10;
[3] 構造函數(shù)去掉void(或構造函數(shù)不能指定返回值類型)
[4] 析構函數(shù)去掉void(或析構函 39、數(shù)不能指定返回值類型)
[5] 對象不能訪問私有成員
[6] base(int m,int n):a(m),b(n){}
[7] static int geta(){return a;}
[8] base::int b=45;
[6] 不能通過構造函數(shù)初始化靜態(tài)數(shù)據(jù)成員(只要把b(n)去掉即可)
[7] 靜態(tài)成員函數(shù)中不能引用非靜態(tài)成員數(shù)據(jù)成員(或去掉static)
[8] int base::b = 45;
三、改錯題,指出程序中的錯誤并改正之。
1. Template 40、T-2*x;
retrun y;
}
[1]
[2]
2. class base
{ public: f(); f(int a); f(char *p);
};
class derive:base
{ public:
void f(int s); base::f;
};
[3]
}
3. #include 41、lic:
void setA(int);
void showA();
private:
int a;
};
class B
{ public:
void setB(int);
void showB();
private:
int b;
};
class C : public A, private B
{ public:
void setC(int, int, int);
void showC();
private:
42、 int c;
};
void A::setA(int x)
{ a=x; }
void B::setB(int x)
{ b=x; }
void C::setC(int x, int y, int z)
{
a=x;
b=y;
setA(x);
setB(y);
c=z;
[1] Template 43、;
[8] return 0;
[1] 改為template 44、 ,成員函數(shù)的 實現(xiàn) 部分可以寫在類外。
2.如果需要在被調函數(shù)運行期間,改變主調函數(shù)中實參變量的值,則函數(shù)的形參應該是 引用 類型或 指針 類型。
3. 抽象 類只能作為基類使用,而不能聲明它的對象。
4.進行函數(shù)重載時,被重載的同名函數(shù)如果都沒有用const修飾,則它們的形參 個數(shù) 或 類型 必須不同。
5.函數(shù)的遞歸調用是指函數(shù)直接或間接地調用 自身 。
6.拷貝構造函數(shù)的形參必須是 本類對象的引用 。
二、閱讀下列程序,寫出其運行時的輸出結果
如果程序運行時會出現(xiàn) 45、錯誤,請簡要描述錯誤原因。
1.請在以下兩題中任選一題,該題得分即為本小題得分。如兩題都答,則取兩題得分之平均值為本小題得分。
(1)程序:
25
#include 46、cout< 47、erived1(m-1)
{ n=m; }
void output(void)
{ cout< 48、t b){i=a,j=b;}
~Samp()
{ cout<<"Destroying.."<
49、 cout<<"Muti["< 50、
#include 51、
int& Vector::Elem(int ndx)
{
if(ndx<0||ndx>=size)
{
cout<<"error in index"< 52、
Vector::~Vector(void)
{
delete[] buffer;
}
int main()
{
Vector a(10);
Vector b(a);
a.Set();
b.Display();
}
運行結果:
1
2
3
4
5
6
7
8
9
10
最后出現(xiàn)錯誤信息,原因是:聲明對象b是進行的是淺拷貝,b與a共用同一個buffer,程序結束前調用析構函數(shù)時對同一內存區(qū)進行了兩次釋放。
(2)程序:
#include 53、
CAT();
// CAT(const CAT&);
~CAT();
int GetAge(){ return *itsAge; }
void SetAge( int age )
{ *itsAge=age; }
protected:
int * itsAge;
};
CAT::CAT()
{
itsAge=new int;
*itsAge=5;
}
CAT::~CAT()
{
delete itsAge;
itsAge=NULL;
}
void main()
{
CAT a;
cout<< 54、"a's age:"< 55、s age:6
b's age:6
a's age:7
b's age:7
最后出現(xiàn)錯誤信息,原因是:聲明對象b是進行的是淺拷貝,b與a共用同一個buffer,程序結束前調用析構函數(shù)時對同一內存區(qū)進行了兩次釋放。
《C++面向對象程序設計》模擬試題二
一、單項選擇題(本大題共10小題,每小題2分,共20分)
1.說明內聯(lián)函數(shù)的關鍵字是( )。
A. inline B. virtual C. define D. static
2.假定CAb為一個類,則執(zhí)行CAb oX;語句時將自動調用該類的( )
A. 有參構造函數(shù) B. 無 56、參構造函數(shù)
C. 拷貝構造函數(shù) D. 賦值重載函數(shù)
3.cin是某個類的標準對象的引用,該類是( )。
A. ostream B. istream C. stdout D. stdin
4.下面的哪個保留字不能作為函數(shù)的返回類型?( )
A. void B. int C. new D. long
5.不能參與重載的運算符是( )。
A. 類 B. 函數(shù) C. 函數(shù)模板 D. 運算符
6.由于數(shù)據(jù)隱藏的需要,靜態(tài)數(shù)據(jù) 57、成員通常被說明為( )。
A. 私有的 B. 公有的 C. 保護的 D. 不可訪問的
7.編譯時多態(tài)性使用什么獲得?( )
A. 重載函數(shù) B. 繼承 C. 虛函數(shù) D. B和C
8.拷貝構造函數(shù)的參數(shù)通常是( )。
A. 無特殊要求 B. 指向對象的指針
C. 自已類對象的常引用 D. 對象
9.C++有幾種聯(lián)編?( )
A. 1種 B. 2種 C. 3種 D. 4種
10.基類和派生類可以分別稱為( )。
A. 58、“大類”和“小類” B. “父類”和“子類”
C. “小類”和“大類” D. “子類”和“父類”
二、判斷正誤題(本大題共5小題,每小題2分,共10分)判斷正誤,在題后的括號內,正確的劃上“√”錯誤的劃上“×”。
1.不可以定義抽象類的對象。 ( )
2.內聯(lián)函數(shù)的定義必須出現(xiàn)在第一次調用內聯(lián)函數(shù)之前。 ( )
3.模板函數(shù)與函數(shù)模板的意義完全相同。 ( )
4.只有常成員函數(shù)才可以操作常對象。 ( )
5.引用可以不初始化。 ( )
三、填空題(本 59、大題共5小題,每小題2分,共10分)
1.設函數(shù)max是由函數(shù)模板實現(xiàn)的,并且max(3.5, 5)和max(3, 5)都是正確的函數(shù)調用,則此函數(shù)模板具有( )個類型參數(shù)。
2.在C++中,函數(shù)重載與虛函數(shù)幫助實現(xiàn)了類的( )性。
3.由static修飾的數(shù)據(jù)成員為該類的所有對象( )。
4.重載函數(shù)在參數(shù)類型或參數(shù)個數(shù)上不同,但( )相同。
5.使用new建立的動態(tài)對象在不用時必須用( )釋放所占用的空間。
四、程序分析 60、題(本大題共4小題,每小題5分,共20分)給出下面各程序的輸出結果。
1.閱讀下面程序,寫出輸出結果。
#include 61、 }
int GetPositionY() const
{
return m_iPositionY;
}
void SetPositionX(int iPositionX)
{
m_iPositionX = iPositionX;
}
void SetPositionY(int iPositionY)
{
m_iPositionY = iPositionY;
}
private:
int m_iPositionX; // X坐標
int m_iPositionY; // X坐標
};
int 62、 main(void)
{
CPosition oPostion1;
const CPosition oPostion2(6, 8);
cout << oPostion1.GetPositionX() << endl;
oPostion1.SetPositionX(16);
cout << oPostion1.GetPositionX() << endl;
oPostion1.SetPositionY(18);
cout << oPostion1.GetPositionY() << endl;
cout << oPostion2.GetPosition 63、X() << endl;
cout << oPostion2.GetPositionY() << endl;
return 0;
}
上面程序的輸出結果為:
2.閱讀下面程序,寫出輸出結果。
#include 64、int() const
{
for (int i = 0; i < m_iSize; i++)
{
cout << m_pArray[i] << " ";
}
}
private:
Type *m_pArray;
int m_iSize;
};
int main(void)
{
int a[] = {1, 0, 8};
double b[] = {1.6, 1.8};
CTest 65、zeof(b) / sizeof(double));
oTest2.Print();
cout << endl;
return 0;
}
上面程序的輸出結果為:
3.閱讀下面程序,寫出輸出結果。
#include 66、ds(const CGoods &oGood)
{
m_iWeight = oGood.m_iWeight;
m_iTotalWeight = m_iTotalWeight + m_iWeight;
}
~CGoods()
{
m_iTotalWeight = m_iTotalWeight - m_iWeight;
}
void Print() const;
static int GetTotalWeight()
{
return m_iTotalWeight;
}
private:
int m_iWeight;
static int m_iTotalWeight;
};
int CGoods::m_iTotalWeight = 8; // 初始化靜態(tài)數(shù)據(jù)成員
void CGoods::Print() const
{
cout << this->m_iWeight << " " << this->m_iTotalWeight << " ";
}
int main(v
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 川渝旅游日記成都重慶城市介紹推薦景點美食推薦
- XX國有企業(yè)黨委書記個人述責述廉報告及2025年重點工作計劃
- 世界濕地日濕地的含義及價值
- 20XX年春節(jié)節(jié)后復工安全生產培訓人到場心到崗
- 大唐女子圖鑒唐朝服飾之美器物之美繪畫之美生活之美
- 節(jié)后開工第一課輕松掌握各要點節(jié)后常見的八大危險
- 廈門城市旅游介紹廈門景點介紹廈門美食展示
- 節(jié)后開工第一課復工復產十注意節(jié)后復工十檢查
- 傳統(tǒng)文化百善孝為先孝道培訓
- 深圳城市旅游介紹景點推薦美食探索
- 節(jié)后復工安全生產培訓勿忘安全本心人人講安全個個會應急
- 預防性維修管理
- 常見閥門類型及特點
- 設備預防性維修
- 2.乳化液泵工理論考試試題含答案