




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、模擬題一一、單項選擇題(本大題共10 小題,每小題2 分,共20 分)在每小題列出的四個選項中只有一個選項是符合題目要求的,請將其代碼填在題后的括號內。錯選或未選均無分。1.在C+中,函數原型不能標識( )A.函數的返回類型 B.函數參數的個數 C.函數參數類型 D.函數的功能2.在C+程序中,對象之間的相互通信通過( )A.繼承實現 B.調用成員函數實現 C.封裝實現 D.函數重載實現3.對于任意一個類,析構函數的個數最多為( )A.0 B.1 C.2 D.34.下面函數模板定義中不正確的是( )A.template<class Q> B.template<class Q&
2、gt;QF(Qx) QF(Qx)return Q+x return x+x; C.template<class T>D.template<class T>TF(Tx) TF(Tx)return x*x return x>1 5.友元關系不能( )A.繼承 B.是類與類的關系C.是一個類的成員函數與另一個類的關系 D.提高程序的運行效率6.語句ofstream f(SALARY.DAT,ios:appios:binary)的功能是建立流對象f,試圖打開文件SALARY.DAT 并與之連接,并且( )A.若文件存在,將文件寫指針定位于文件尾;若文件不存在,建立一個新文
3、件B.若文件存在,將其置為空文件;若文件不存在,打開失敗C.若文件存在,將文件寫指針定位于文件首;若文件不存在,建立一個新文件D.若文件存在,打開失敗;若文件不存在,建立一個新文件7.下面說法正確的是( )A.內聯函數在運行時是將該函數的目標代碼插入每個調用該函數的地方B.內聯函數在編譯時是將該函數的目標代碼插入每個調用該函數的地方C.類的內聯函數必須在類體內定義D.類的內聯函數必須在類體外通過加關鍵字inline 定義8.可以用p.a 的形式訪問派生類對象p 的基類成員a,其中a 是( )A.私有繼承的公有成員 B.公有繼承的私有成員C.公有繼承的保護成員 D.公有繼承的公有成員9.在公有派
4、生情況下,有關派生類對象和基類對象的關系,不正確的敘述是( )A.派生類的對象可以賦給基類的對象B.派生類的對象可以初始化基類的引用C.派生類的對象可以直接訪問基類中的成員D.派生類的對象的地址可以賦給指向基類的指針10.對于類定義class Apublic:virtual void func1( ) void func2( ) class B:public Apublic:void func1( )cout<<class B func 1<<end1virtual void func2( )cout<<class B func 2<<end1下
5、面正確的敘述是( )A. A:func2( )和B:func1( )都是虛函數B. A:func2( )和B:func1( )都不是虛函數C. B:func1( )是虛函數,而A:func2( )不是虛函數D. B:func1( )不是虛函數,而A:func2( )是虛函數二、填空題(本大題共10 小題,每小題2 分,共20 分)不寫解答過程,將正確的答案寫在每小題的橫線處。錯填或不填均無分。11.定義類的動態對象數組時,系統只能夠自動調用該類的_構造函數對其進行初始化。12.在C+程序設計中,建立繼承關系倒掛的樹應使用_繼承。13.表達式cout<<end1 還可表示為_。14.
6、基類的公有成員在派生類中的訪問權限由_決定。15.C+支持的兩種多態性分別是_多態性和_多態性。16.C+中語句const char * const p=hello;所定義的指針p 和它所指的內容都不能被_。17.假定AB 為一個類,則語句AB(AB&x);為該類_構造函數的原型說明。18.將關鍵字const 寫在成員函數的_和_之間時,所修飾的是this 指針。19.在C+中,訪問一個對象的成員所用的運算符是_,訪問一個指針所指向的對象的成員所用的運算符是_。20.派生類從一個或多個以前定義的該類的_模擬題一參考答案一、單項選擇題(本大題共10 小題,每小題2 分,共20 分)1.D
7、 2.B 3.B 4.A 5.A6.A 7.B 8.D 9.C 10.C第二部分非選擇題(共80 分)二、填空題(本大題共10 小題,每小題2 分,共20 分)11.無參12.單一(或單)13.cout<<n(或cout<<12,或cout<<xA,或其它等價形式)14.訪問控制(或其它等價形式)15.編譯時的(或靜態,或操作重載)運行時的(或動態,或虛函數)16.改變(或重新賦值)17.復制初始化(或拷貝)18.函數頭(或參數表) 函數體19.成員選擇運算符(或“.”) 成員訪問運算符(或“>”)20.基類模擬題二一、單項選擇題(每題2分,共20分)
8、1. 派生類對象可訪問基類中的什么成員( )A.公有繼承的公有成員 B.公有繼承的私有成員 C.公有繼承的保護成員 D.私有繼承的公有成員2. 定義析構函數時,應該注意( )。 A.其名與類名完全相同 B.返回類型
9、是void類型 C.無形參,也不可重載 D.函數體中必須有delete語句3. 如果類A被說明成類B的友元,則( )。 A.類A的成員即類B的成員 B.類B的成員即類A的成員 C.類A的成員函數不得訪問類B的成員 D.類B不一定是類A的友元 4. 應在下列程序劃線處填入的正確語句是( ) #include class
10、;Base public: void fun()cout<<"Base:fun"<<endl; ; class Derived:public Base void fun() _ / 顯示調用基類的函數fun() cout<<"Derived:fun"<<ENDL; ; Afun(); B. Base.fun(); C. Base:fun(); D. Base->fun();5. 面向對象程序設計
11、將數據與( )放在一起,做為一個相互依存、不可分割的整體來處理。 A. 對數據的操作 B. 信息 C. 數據隱藏 D. 數據抽象6. 在類中聲明轉換函數時不能指定( )。 A. 參數 B. 訪問權限 C. 操作 D. 標識符 7. 在派生類中重新定義虛函數時必須在( )方
12、面與基類保持一致。 A. 參數類型 B. 參數名字 C. 操作內容 D. 賦值8. 下面關于C+中類的繼承與派生的說法錯誤的是( )。A基類的protected成員在公有派生類的成員函數中可以直接使用B基類的protected成員在私有派生類的成員函數中可以直接使用C公有派生時,基類的所有成員訪問權限在派生類中保持不變D基類的protected成員在保護派生類的成員函數中可以直接使用9. 重載賦值操作符時,應聲明為( )
13、函數。 A. 友元 B. 虛 C. 成員 D. 多態10. 語句 ofstream f(SALARY.DAT,ios:appios:binary); 的功能是建立流對象 f,試圖打開文件 SALARY.DAT 并與之連接,并且 ( ) A. 若文件存在,將文件寫指針定位于文件尾;若文件不存在,建
14、立一個新文件 B. 若文件存在,將其置為空文件;若文件不存在,打開失敗 C. 若文件存在,將文件寫指針定位于文件首;若文件不存在,建立一個新文件 D. 若文件存在,打開失敗;若文件不存在,建立一個新文件 二、填空題(每空2分,共30分)1. 假定 AB 為一個類,則語句 AB(AB&x) ;為該類 _ 構造函數的原型說明。2. C+ 支持的兩種多態性分別是 _ 多態性和 _ 多態性。3. 定義類的動態對象數組時,系
15、統只能夠自動調用該類的 _ 構造函數對其進行初始化。4. 運算符重載時,其函數名由 構成。成員函數重載雙目運算符時,左操作數是 ,右操作數是 。5. C+標準庫中的異常層次的根類為 類;MFC類庫中絕大多數類都源自根類 類。6. 在下面橫線處填上適當字句,完成類中成員函數的定義。 class A int * a; public: A(int aa=0) a=_; / 用 aa 初始化 a 所指向的動態對象
16、; A()_;/ 釋放動態存儲空間 ; 7C+支持面向對象程序設計的四個要素是:封裝性、繼承性、 和 。8模板分為 模板和 模板。模擬題二參考答案一、單項選擇題(每題2分,共20分)1A2. C3. D4. C5. A6. A7. A8. C9. C10. A二、填空題(每空2分,共30分)1. 拷貝或復制2. 運行(時) 編譯(時)(二者位置可互換)(或改為靜態和動態也可)3. 無參(缺省或默認均可)4. operator運算符(運算符可寫為,若沒寫扣1分) (當前)對象 函數的形參(參數)5. exception(若e寫為大寫字母
17、則扣0.5分,單詞稍微寫錯扣0.5分)CObject(字母CO為大寫字母,寫為小寫各扣0.5分)6. new int(aa)delete a(有new、delete各給1分,int給0.5分)7. 抽象性多態性(二者位置可互換)8. 類函數(二者位置可互換)模擬題三一、單項選擇題(每題2分,共20分)1. 在下面選項中,對類的拷貝構造函數的聲明形式是( )A. A:A(&) B. A:A(constA&) C. A:A(A) D. void A:A(A&a)2. 下面關于成員函數特征的描述中,錯誤的是( )A成員函數不可以設置參數的默認值 B成員函數可以重載C成員函數可
18、以是內聯函數 D成員函數可以是靜態的3. 下面關于類模板敘述不正確的是( ) A可以有多個構造函數 B. 類模板是模板類的實例C. 一個類模板可以用來實例化多個模板類 D. 類模板可以有多個參數4. 要使一個類成為抽象類,這個類應具有的條件是( )A至少有一個純虛函數 B. 至少有一個虛函數C. 只含有一個純虛函數 D. 只含有一個虛函數5. 有關運算符重載正確的描述是( )A. C+語言允許在重載運算符時改變運算符的操作個數B. C+語言允許在重載運算符時改變運算符的優先級C. C+語言允許在重載運算符時改變運算符的結合性D. C+語言允許在重載運算符時改變
19、運算符的原來的功能6. 下列說法正確的是( )。A. 一個類的對象可以是另一個類的成員B. 一個類可以作為另一個類的派生類C. 一個類可以在另一個類定義體進行定義D. 以上說法均正確7. 有如下程序: #include <iostream.h>class BASEchar c; public:BASE(char n):c(n) virtualBASE()cout<<c; ; class DERIVED:public BASE char c; public: DERIVED(char n):BASE(n+1),c(n) DERIVED()cout<<c; ;
20、int main() DERIVED('X'); return 0; 執行上面的程序將輸出( )。A)X B)YX C)XY D)Y8. 類MyClass的定義如下:class MyClass public:MyClass()value=0;SetValue(int i)value=i; private: int value;則對語句:MyClass *p,my;p=&my;正確的描述是( )。A. 語句p=&my;是把對象my賦值給指針變量p;B. 語句MyClass *p,my;會調用兩次類MyClass的構造函數C. 對
21、語句*p.SetValue(5)的調用是正確的D. 語句p->SetValue(5)與my.SetValue(5)等價9. 下列各類函數中, 不是類的成員函數。A. 構造函數 B. 析構函數 C. 友元函數 D. 拷貝構造函數10. 派生類的對象對它的基類成員中 是可以訪問的。A. 公有繼承的公有成員 B. 公有繼承的私有成員 C. 公有繼承的保護成員 D. 私有繼承的公有成員二、填空題(每空2分,共30分)1. 定義內聯函數所用的關鍵字 ,定義友元所用的關鍵字為 。2. 當一個派生類具有多個基類時,這種繼承方式稱為_ _。3. 通過一個構造函數調用虛函數時,C+系統對該調用采
22、用 聯編。4. 任何類中允許有 、 、 三種訪問控制類型的成員,數據成員和成員函數的默認類型為 。5. 只有在 繼承的情況下,基類和派生類之間才有賦值兼容性規則。6. C+標準庫中的異常層次的根類定義在庫的頭文件 中。7. 運算符重載使用的兩種方式是 和 。8. C+支持面向對象程序設計的四個要素是:抽象性、 、 和 。模擬題三參考答案一、單項選擇題(每題2分,共20分)1B2. A3. B4. A5. D6. D7. C8. D9. C10. A二、填空題(每空2分,共30分)9. inline friend10. 多重繼承11. 靜態12. privateprotectedpublic(三
23、者位置可以互換)private13. 公有14. exception.h15. 成員函數友元函數(二者位置可互換)多態性繼承性封裝性(三者位置可互換)模擬題四一、單項選擇題(每題2分,共20分)1. 下面有關構造函數和new運算符關系正確的說法是( )Anew運算符不調用構造函數 B. 構造函數一定調用new運算符C當生成新類的實例時,先調用new運算符,再調用構造函數進行初始化D. 當new運算符動態產生類的對象時,new運算符也自動調用構造函數2. 下面有關類性質的說法錯誤的是( ) A.一個類可以有多個構造函數,但只有一個析構函數B.析構函數和構造函數都不能有返回類型C.不能給析構函數指
24、定參數D.一個類中不可以聲明具有類類型的數據成員3. 下面關于友元函數描述正確的是( )A友元函數是類的成員B友元函數在類的外部聲明C友元函數在類中聲明D. 友元函數能夠派生4. 下面敘述正確的是( ) A. 派生類不可以使用私用派生B. 保護派生時,基類的保護成員在派生類中是公有的C. 對基類成員的訪問允許二義性D. 賦值兼容規則也適用于多重繼承的組合5. 有關運算符重載正確的描述是( )A. C+語言允許在重載運算符時改變運算符的操作個數B. C+語言允許在重載運算符時改變運算符的優先級C. C+語言允許在重載運算符時改變運算符的結合性D. C+語言允許在重載運算符時改變運算符的原來的功能
25、6. 下面描述中,表達錯誤的是( ) A. 公有繼承時基類中的public成員在派生類中仍是public的 B. 公有繼承是基類中的private成員在派生類中仍是private的 C. 公有繼承時基類中的protected成員在派生類中仍是protected的D. 私有繼承時基類中的public成員在派生類中是private的7. 拷貝構造函數的參數是( )A. 某個對象名 B. 某個對象的成員名 C. 某個對象的引用名 D. 某個對象的指針名8. 下列關于構造函數的描述中,錯誤的是( )A構造函數可以設置默認參數 B.構造函數在定義類對象時自動執行C構造函數可以是內聯函數 D.構造函數不可
26、以重載9. 數組作為函數的形參時,把數組名作為實參,傳遞給函數的是( )A該數組的首地址 B該數組的元素個數C該數組中的各元素值 D該數組的大小10. 通過一個析構函數調用虛函數時,C+系統對該調用采用()。A. 動態聯編 B. 靜態聯編 C. 不確定是哪種聯編 D.函數重載二、填空題(每空2分,共30分)1成員名限定的符號是 ,它可以在引用成員時避免 。2只有在 繼承的情況下,基類和派生類之間才有賦值兼容性規則。3. 模板分為 模板和 模板。4. 在用class定義一個類時,數據成員和成員函數的默認訪問權限是 。5. 已知int DBL(int n)return n+n;和long DBL(
27、long n)return n+n;是一個函數模板的兩個實例,則該函數模板的定義是 。(要求寫出函數模板的完整定義)6. 靜態數據成員必須在 進行初始化。7. 含有純虛函數的類稱為 。8. 若Queue是一個類,aQueue是它的一個對象,而且該類中定義了一個靜態成員函數show()則在類外對該成員的函數進行調用的方式可以為 和 。9. 定義內聯函數所用的關鍵字為 ,定義友元所用的關鍵字為 。10. 使用成員函數重載運算符時,若運算符是二元的,則參數表中有 個操作數,此時 作為此運算符的左操作數。模擬題四參考答案一、單項選擇題(每題2分,共20分)1 D 2 D 3 C 4 D 5 D 6 B
28、 7 C 8 D 9 A 10 B 二、填空題(每空2分,共30分)1. : 二義性 2. 公有 3. 類 函數 4. private5. template<class T> T DBL(T n)return n+n; 6. 類外 7. 抽象類 8. aQueue.show() Queue:show() 9. inline friend 10 1 當前對象 模擬題五 一、單項選擇題(每題2分,共20分)1. 下面有關重載函數的說法中正確的是( ) A重載函數必須具有不同的返回值類型;B重載函數形參個數必須不同; C重載函數必須有不同的形參列表D重載函數名可以不同; 2. 使用str
29、ing類建立對象的不正確方式是()。A. string str(“OK”); B. string str=”OK”; C. string str; D. string str=OK;3. 面關于C+中類的繼承與派生的說法錯誤的是( )A基類的protected成員在公有派生類的成員函數中可以直接使用B基類的protected成員在私有派生類的成員函數中可以直接使用C私有派生時,基類的所有成員訪問權限在派生類中保持不變D繼承可以分為單一繼承與多重繼承4. 面向對象程序設計將數據與( )放在一起,做為一個相互依存、不可分割的整體來處理。A. 對數據的操作B. 信息C. 數據隱藏D.數據抽象5. 一
30、個類的析構函數 。A.唯一的 B.允許重載 C.至多可有兩個 D.只能是缺省的6. 下列各類函數中,( )不是類的成員函數。A. 構造函數 B. 析構函數 C. 友元函數 D. 拷貝構造函數7. 在下面選項中,對類的拷貝構造函數的聲明形式是( )AA:A(&) B. A:A(constA&) C. A:A(A) D. void A:A(A&a)8. 下面關于靜態成員描述正確的是( )A. 靜態成員是對象的數據成員B. 靜態成員是對象的成員C. 靜態成員是對象的成員函數D. 靜態成員不是對象的成員9. 下面關于關于成員函數特征的描述中,錯誤的是( )A成員函數不可以設置參
31、數的默認值 B成員函數可以重載C成員函數可以是內聯函數D成員函數可以是靜態的10. 下面敘述正確的是( )A基類的保護成員在派生類中仍然是保護的B基類的公有成員在派生類中仍然是公有的C基類的私有成員在派生類中是私有的D從基類派生時,可以有3種派生方法二、改錯題,指出程序中的錯誤并改正之。1. class base int a;public:int b;int f(int i,int j);class derive:baseint c;public:int base:b; base:f(int i,int j); ; 1 2 2. #include <iostream.h>class
32、 Apublic:void A(int i=0)m=i;void show()cout<<m;void A()private:int m; ;void main()A a(5);a.m+=10;a.show();3 4 5 3. #include<iostream>using namespace std;class base int a;static int b;public:base(int m,int n):a(m),b(n)static int geta()return a;static int getb()return b;void show()cout<
33、<geta()<<”,”<<getb()<<endl;base:int b=45;void main()6 7 8 模擬題五參考答案一、單項選擇題(每題2分,共20分)1 C 2 D 3 C 4 A 5 A 6 C 7 B 8 B 9 A 10 D 二、改錯題,指出程序中的錯誤并改正之。1 int base:b; 2 base:f(int i,int j);1 base:b; (或訪問聲明僅僅調整名字的訪問,不可為它說明任何類型) 2 base:f; (或訪問聲明不應說明函數參數)3 void A(int i=0)m=i;4 void A()5 a.m
34、+=10;3 構造函數去掉void(或構造函數不能指定返回值類型)4 析構函數去掉void(或析構函數不能指定返回值類型)5 對象不能訪問私有成員 6 base(int m,int n):a(m),b(n)7 static int geta()return a;8 base:int b=45;6 不能通過構造函數初始化靜態數據成員(只要把b(n)去掉即可) 7 靜態成員函數中不能引用非靜態成員數據成員(或去掉static) 8 int base:b = 45; 三、改錯題,指出程序中的錯誤并改正之。1. Template<class T>T fun(T x) T y;y=T-2*x
35、;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 <iostream.h>class A public: 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
36、: void setC(int, int, int); void showC(); private: 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<class T>2 y=T-2*x; 3 base:f;4 a=x;5 b=y;6 obj.setB(6);7 obj.showB();8 return 0;1 改為template<class T> 2 T不能用
37、作-的操作數 3 派生類中具有與基類同名的函數,則基類中的此函數不能在派生類中進行訪問聲明 4 派生類不能訪問基類A類的私有成員5 派生類不能訪問基類B類的私有成員6 不能訪問B類的公有成員setB 7 不能訪問B類的公有成員showB 8 去掉此語句,或主函數的返回值void去掉或改為int C+面向對象程序設計模擬試題一 一、填空1在類中必須聲明成員函數的 原型 ,成員函數的 實現 部分可以寫在類外。2如果需要在被調函數運行期間,改變主調函數中實參變量的值,則函數的形參應該是 引用 類型或 指針 類型。3 抽象 類只能作為基類使用,而不能聲明它的對象。4進行函數重載時,被重載的同名函數如果
38、都沒有用const修飾,則它們的形參 個數 或 類型 必須不同。5函數的遞歸調用是指函數直接或間接地調用 自身 。6拷貝構造函數的形參必須是 本類對象的引用 。二、閱讀下列程序,寫出其運行時的輸出結果 如果程序運行時會出現錯誤,請簡要描述錯誤原因。1請在以下兩題中任選一題,該題得分即為本小題得分。如兩題都答,則取兩題得分之平均值為本小題得分。(1)程序:#include <iostream.h>#include <string.h>class Base private: char msg30; protected: int n; public: Base(char s,
39、int m=0):n(m) strcpy(msg,s); void output(void) cout<<n<<endl<<msg<<endl; ;class Derived1:public Baseprivate:int n;public:Derived1(int m=1):Base("Base",m-1) n=m; void output(void) cout<<n<<endl; Base:output();class Derived2:public Derived1private:int n;pu
40、blic:Derived2(int m=2):Derived1(m-1) n=m; void output(void) cout<<n<<endl; Derived1:output();int main()Base B("Base Class",1);Derived2 D;B.output();D.output();運行結果:1Base Class210Base(2)程序:#include <iostream.h>class Samppublic:void Setij(int a,int b)i=a,j=b;Samp()cout<&
41、lt;"Destroying."<<i<<endl;int GetMuti()return i*j; protected:int i;int j;int main()Samp *p;p=new Samp5;if(!p)cout<<"Allocation errorn"return 1;for(int j=0;j<5;j+)pj.Setij(j,j);for(int k=0;k<5;k+)cout<<"Muti"<<k<<" is:"
42、 <<pk.GetMuti()<<endl;deletep;return 0;運行結果:Muti0 is:0Muti1 is:1Muti2 is:4Muti3 is:9Muti4 is:16Destroying.4Destroying.3Destroying.2Destroying.1Destroying.02請在以下兩題中任選一題,該題得分即為本小題得分。如兩題都答,則取兩題得分之平均值為本小題得分。(1)程序:#include <iostream.h>#include <stdlib.h>class Vector public: Vector
43、(int s=100); int& Elem(int ndx); void Display(void); void Set(void); Vector(void); protected: int size; int *buffer;Vector:Vector(int s)buffer=new intsize=s;int& Vector:Elem(int ndx)if(ndx<0|ndx>=size)cout<<"error in index"<<endl;exit(1);return bufferndx;void Vect
44、or:Display(void)for(int j=0; j<size; j+)cout<<Elem(j)<<endl;void Vector:Set(void)for(int j=0; j<size; j+)Elem(j)=j+1;Vector:Vector(void)delete buffer;int main()Vector a(10);Vector b(a);a.Set();b.Display();運行結果:12345678910最后出現錯誤信息,原因是:聲明對象b是進行的是淺拷貝,b與a共用同一個buffer,程序結束前調用析構函數時對同一內存區進
45、行了兩次釋放。(2)程序:#include<iostream.h>class CAT public: 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<<"a's age:&q
46、uot;<<a.GetAge()<<endl;a.SetAge(6);CAT b(a);cout<<"a's age:"<<a.GetAge()<<endl;cout<<"b's age:"<<b.GetAge()<<endl;a.SetAge(7);cout<<"a's age:"<<a.GetAge()<<endl;cout<<"b's age:&
47、quot;<<b.GetAge()<<endl;運行結果:a's age:5a's age:6b's age:6a's age:7b's age:7最后出現錯誤信息,原因是:聲明對象b是進行的是淺拷貝,b與a共用同一個buffer,程序結束前調用析構函數時對同一內存區進行了兩次釋放。C+面向對象程序設計模擬試題二一、單項選擇題(本大題共10小題,每小題2分,共20分)1說明內聯函數的關鍵字是( )。A. inlineB. virtualC. defineD. static2假定CAb為一個類,則執行CAb oX;語句時將自動調用該
48、類的( ) A. 有參構造函數 B. 無參構造函數 C. 拷貝構造函數 D. 賦值重載函數 3cin是某個類的標準對象的引用,該類是( )。A. ostreamB. istreamC. stdoutD. stdin4下面的哪個保留字不能作為函數的返回類型?( )A. void B. int C. new D. long5不能參與重載的運算符是( )。A. 類 B. 函數 C. 函數模板 D. 運算符6由于數據隱藏的需要,靜態數據成員通常被說明為( )。A. 私有的 B. 公有的 C. 保護的 D. 不可訪問的7編譯時多態性使用什么獲得?( )A. 重載函數 B. 繼承 C. 虛函數 D. B和
49、C 8拷貝構造函數的參數通常是( )。A. 無特殊要求B. 指向對象的指針C. 自已類對象的常引用D. 對象9C+有幾種聯編?( )A. 1種B. 2種C. 3種D. 4種10基類和派生類可以分別稱為( )。A. “大類”和“小類”B. “父類”和“子類”C. “小類”和“大類”D. “子類”和“父類”二、判斷正誤題(本大題共5小題,每小題2分,共10分)判斷正誤,在題后的括號內,正確的劃上“”錯誤的劃上“×”。1不可以定義抽象類的對象。 ( )2內聯函數的定義必須出現在第一次調用內聯函數之前。 ( )3模板函數與函數模板的意義完全相同。 ( )4只有常成員函數才可以操作常對象。 (
50、 )5引用可以不初始化。 ( )三、填空題(本大題共5小題,每小題2分,共10分)1設函數max是由函數模板實現的,并且max(3.5, 5)和max(3, 5)都是正確的函數調用,則此函數模板具有( )個類型參數。2在C+中,函數重載與虛函數幫助實現了類的( )性。3由static修飾的數據成員為該類的所有對象( )。4重載函數在參數類型或參數個數上不同,但( )相同。5使用new建立的動態對象在不用時必須用( )釋放所占用的空間。四、程序分析題(本大題共4小題,每小題5分,共20分)給出下面各程序的輸出結果。1閱讀下面程序,寫出輸出結果。#include <iostream>u
51、sing namespace std;class CPositionpublic:CPosition(int iPositionX = 0, int iPositionY = 0):m_iPositionX(iPositionX)m_iPositionY = iPositionY;int GetPositionX() constreturn m_iPositionX;int GetPositionY() constreturn m_iPositionY;void SetPositionX(int iPositionX)m_iPositionX = iPositionX;void SetPositionY
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 泰享懂你 康養友伴-2024年新康養需求洞察白皮書-華泰人壽
- 九年級體育與健康上冊《耐久跑》教學設計
- 2024中鐵國資公開招聘6人筆試參考題庫附帶答案詳解
- 2024中石化化銷國際貿易有限公司公開招聘6人(上海)筆試參考題庫附帶答案詳解
- 九年級信息技術下冊 信息的獲取與分析教學設計 青島版
- 六年級語文上冊 第一單元 3 古詩詞三首《西江月 夜行黃沙道中》教學設計 新人教版
- 放射科工作人員崗位培訓記錄
- 九年級化學上冊 第五單元 定量研究化學反應 第三節 化學反應中的有關計算教學設計 (新版)魯教版
- 方鋼焊接培訓
- 初中音樂人音版七年級上冊萬馬奔騰一等獎教學設計
- 采購工作調研報告(3篇)
- 《遙感導論》全套課件
- 希爾國際商務第11版英文教材課件完整版電子教案
- 《學弈》優質課一等獎課件
- 2023年6月大學英語四級考試真題(第1套)(含答案)
- 飛行器總體設計(二)
- 奧迪A7L汽車說明書
- 棲居之橋的現象學沉思-海德格爾的棲居之思(續)
- 鋼結構焊接施工方案最終版
- 圍絕經期婦女保健指導
- 談判藥品審核備案表
評論
0/150
提交評論