




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、PAGE 面向?qū)ο蟪绦蛟O(shè)計及C+復(fù)習(xí)題 第15頁 共15頁一、填空題1、在面向?qū)ο蟮某绦蛟O(shè)計中,派生類通過 機制獲得基類已定義的屬性和操作。2、在C+語言的異常處理機制中, 語句用于拋出異常, 語句塊用于檢測異常, 語句塊用于捕捉和處理異常。3、C+語言支持的兩種多態(tài)性分別是 多態(tài)性和 多態(tài)性。6、C+支持兩種多態(tài)性,其中函數(shù)重載和運算符重載用于實現(xiàn) ,而虛函數(shù)用于實現(xiàn) 。4、如果要把返回值為void的無參函數(shù)A聲明為類B的友元函數(shù),則應(yīng)在類B的定義中加入的語句是 。5、在函數(shù)中有這樣的語句來申請空間:int *p=new int10; 要釋放該空間應(yīng)使用語句 。6、函數(shù)重載要求幾個同名的函數(shù)
2、必須在形式參數(shù)的個數(shù)、 、順序的一個或多個方面有所區(qū)別 。7、用C+風(fēng)格進(jìn)行文件的輸入/輸出操作時,必須包含的std名空間中的頭文件是 。8、開發(fā)C+程序與開發(fā)其他高級語言的程序一樣,包括編輯、編譯、 和_四個步驟。9、C+語言中的標(biāo)準(zhǔn)輸出流對象是 ,在程序中用于代表標(biāo)準(zhǔn)輸出_設(shè)備。10、類的成員有3種訪問屬性,其默認(rèn)的訪問屬性為 ;訪問屬性為_ 的成員既可被派生類繼承又保持了封裝和信息隱藏性。(請?zhí)铌P(guān)鍵字)得 分二、單選題(每題2分) 1、C+語言對C做了很多改進(jìn),C+語言相對于C語言的最根本的變化是( )。A、引進(jìn)了類和對象的概念B、允許函數(shù)重載,并允許設(shè)置缺省參數(shù)C、增加了引用的概念D、
3、增加了一些新的運算符2、決定C+函數(shù)的返回值類型的是( )。A、return語句中的表達(dá)式類型B、調(diào)用該函數(shù)時系統(tǒng)隨機產(chǎn)生的類型C、調(diào)用該函數(shù)時的主調(diào)用函數(shù)類型D、在定義該函數(shù)時所指定的函數(shù)返回值類型3、對類成員訪問權(quán)限的控制,是通過設(shè)置成員的訪問控制屬性實現(xiàn)的,下列不是訪問控制屬性的是( )。A、公有類型 B、私有類型 C、友元類型 D、保護(hù)類型4、下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的是( )。A、靜態(tài)數(shù)據(jù)成員可以在類體內(nèi)進(jìn)行初始化B、靜態(tài)數(shù)據(jù)成員不可以被類的對象調(diào)用C、靜態(tài)數(shù)據(jù)成員的訪問訪問屬性不能為privateD、公有靜態(tài)數(shù)據(jù)成員可以在對象定義之前以“類名:公有靜態(tài)數(shù)據(jù)成員名”的形式訪問
4、5、下面對于友元函數(shù)描述正確的是( )。A、友元函數(shù)的實現(xiàn)必須在類的內(nèi)部定義B、友元函數(shù)在一定程度上破壞了類的封裝和信息隱藏C、友元函數(shù)是類的成員函數(shù)D、友元函數(shù)不能訪問類的私有成員6、在公有派生情況下,有關(guān)派生類對象和基類對象的關(guān)系,下列敘述不正確的是( )。A、派生類的對象可以賦給基類的對象B、派生類的對象可以初始化基類的引用C、派生類的指針可以獲得基類對象的地址D、派生類的對象的地址可以賦給指向基類的指針7、下列關(guān)于虛基類的描述,錯誤的是( )。A、設(shè)置虛基類的目的是為了消除二義性B、虛基類的構(gòu)造函數(shù)在非虛基類之后調(diào)用C、若派生類由虛基類和普通基類共同派生,則先調(diào)用虛基類的構(gòu)造函數(shù)D、若
5、虛基類由非虛基類派生而來,則仍然先調(diào)用基類構(gòu)造函數(shù)8、下列運算符中,在C+語言中不能重載的是( )。A、 : B、= C、= D、/9、有定義class A . ; class B . ; class C:public A B b; A a; .;則定義一個C類對象時,各類的構(gòu)造函數(shù)的調(diào)用順序為( )。 A、A類構(gòu)造函數(shù)B類構(gòu)造函數(shù)A類構(gòu)造函數(shù)C類構(gòu)造函數(shù)B、A類構(gòu)造函數(shù)A類構(gòu)造函數(shù)B類構(gòu)造函數(shù)C類構(gòu)造函數(shù)C、A類構(gòu)造函數(shù)C類構(gòu)造函數(shù)A類構(gòu)造函數(shù)B類構(gòu)造函數(shù)D、C類構(gòu)造函數(shù)A類構(gòu)造函數(shù)A類構(gòu)造函數(shù)B類構(gòu)造函數(shù)10、在下列文件讀寫函數(shù)中,進(jìn)行寫操作的函數(shù)是( )。A、 get( ) B、 rea
6、d( ) C、getline( ) D、put( )1、假設(shè)已有定義:const char *name=chen;下面語句中錯誤的是 。A、name3= a; B、name=lin;C、name=new char5; D、coutname3;11、設(shè)有語句void f(int a10,int &x); int y10,*py=y,n=10; 則對函數(shù)f的正確調(diào)用語句是 。 A、f(py10,n); B、f(py,n); C、f(*py,&n); D、f(py,10);12、下列不正確的重載函數(shù)是 。A、int print(int X); 和 void print(float X);B、int
7、disp(int X); 和 char disp(int Y) const;C、void disp(char * str,int Y);和 int disp(char * s,int X);D、int view(int X , int y); 和 int view(int X); 13、有關(guān)this指針的描述中,錯誤的是 。 A、this指針可以在程序中顯式使用 B、this指針是在使用對象時由系統(tǒng)自動生成 C、this指針是指向當(dāng)前對象的指針 D、this指針是指向成員函數(shù)的指針14、關(guān)于成員函數(shù)特征的下列描述中, 是錯誤的。A、成員函數(shù)一定是內(nèi)聯(lián)函數(shù) B、成員函數(shù)可以重載 C、成員函數(shù)可以
8、設(shè)置缺省參數(shù)值 D、成員函數(shù)可以是靜態(tài)的15、以下關(guān)于構(gòu)造函數(shù)的敘述不正確的是 。A、構(gòu)造函數(shù)名必須和類名一致 B、構(gòu)造函數(shù)在定義對象時自動執(zhí)行C、構(gòu)造函數(shù)無任何函數(shù)類型 D、一個類的構(gòu)造函數(shù)有且僅有一個16、下列哪一項不能訪問基類的保護(hù)成員 。 A、基類的友元函數(shù) B、派生類的對象 C、基類的成員函數(shù) D、公有派生類的成員函數(shù)17、下面有關(guān)基類與公有派生類的賦值兼容原則,正確的是 。 A、公有派生類對象不能賦給基類對象 B、基類對象能賦給其公有派生類的引用C、基類對象不能賦給公有派生類對象 D、公有派生類對象地址不能賦給基類指針變量18、_是一個在基類中說明的虛函數(shù),它在該基類中沒有定義,但
9、要求任何派生類都必須定義自己的版本。A、虛析構(gòu)函數(shù) B、虛構(gòu)造函數(shù) C、純虛函數(shù) D、靜態(tài)成員函數(shù)19、假定要對類AB以友元函數(shù)形式重載加號運算符,實現(xiàn)兩個AB類對象的加法,并返回相加結(jié)果,則該函數(shù)的聲明語句為: 。friend AB operator+(AB & a , AB & b); B、friend operator+(AB a);C、friend AB operator+(AB & a); D、friend AB & operator+( );三、讀程題(每空2分)1、以下程序運行后輸出的第一行是 (1) ,第二行是 (2) 。#include using namespace std
10、;int Fun(int &x,int y) x+ ; y+; return x+y; void main( ) int a=1,b=2,c=3; couta,b,cendl; c=Fun(a,b); couta,b,cendl; 2、以下程序運行后輸出的第一行是_(3)_,最后一行的輸出結(jié)果是_(4)_。#include using namespace std;class A裝 訂 線 內(nèi) 不 要 答 題自 覺 遵 守 考 試 規(guī) 則,誠 信 考 試,絕 不 作 弊int a;裝 訂 線 內(nèi) 不 要 答 題自 覺 遵 守 考 試 規(guī) 則,誠 信 考 試,絕 不 作 弊public: A(in
11、t aa=0) a=aa; void print( )coutaendl;class B:public A int b;public:B(int aa=0,int bb=0):A(aa) b=bb; void print( )A:print ();coutbprint();p=&b;p-print();3、以下程序運行后有多行輸出,其中第一行是 (5) ,第二行是 (6) ,第三行是_(7)_,第四行是 (8) 。#include using namespace std;class Bint x,y;public:B(int i=0,int j=0)x=i; y=j;coutB consend
12、l;B(const B &b)x=b.x; y=b.y;coutB copy consendl;B( )coutB Destendl;void main( )B b1,b2(10,20),b3=b2; b1=b2; 4、以下程序運行后的輸出結(jié)果第一行是 (9) ,第二行是 (10) 。#include using namespace std;int i=0; void main() int i=10; coutiendl; :i=i*10;cout:iendl;5、如果文件abc.txt的內(nèi)容如下:helloB08051150!以下程序運行后,屏幕輸出的內(nèi)容是 (11) ,文件f1.txt中的
13、內(nèi)容是 (12) ,文件f2.txt中的內(nèi)容是 (13) 。#include #include using namespace std;void main( )ifstream ifile(abc.txt); if(!ifile) coutabc.txt cannot be openned!endl;return ;ofstream ofile1(f1.txt); if(!ofile1) coutf1.txt cannot be openned!endl;return ;ofstream ofile2(f2.txt); if(!ofile2) coutf2.txt cannot be open
14、ned!=0&ch=9) cout=a&ch=z)ofile1.put(ch); else ofile1.put(ch); ifile.close(); ofile1.close(); ofile2.close(); 6、以下程序運行后,第一行輸出結(jié)果是 (14) ,第二行輸出結(jié)果是 (15)。#include using namespace std;template class FF T a1,a2,a3;public:FF(T b1, T b2, T b3):a1(b1),a2(b2),a3(b3) T Sum( ) return a1+a2+a3;void main( ) FF x(2,
15、3,4); FFy(5.1, 5.3, 5.4); coutx.Sum( )endl; couty.Sum( )endl;7、以下程序運行后的輸出結(jié)果第一行是 (16) ,第二行是 (17) 。#include using namespace std;int i=0; void main() int i=5; coutiendl; :i=i*20; cout:iendl; 8、以下程序運行后,三行的輸出的結(jié)果分別是 (18) 、 (19) 、 (20) 。#includeusing namespace std;class base int n;public: base(int i)n=i; i
16、nt getn( ) return n; friend int add(base &s1,base s2);int add(base &s1,base s2) int result= s1.n+s2.n; int t=s1.n; s1.n=s2.n; s2.n=t; return result; void main( ) base A(29),B(11);coutadd(A,B) endl;coutA.getn()endl;coutB.getn()endl;9、以下程序運行后輸出的第一行是 (21) ,第二行是 _(22)_ 。#include using namespace std;temp
17、lateT fun(T x,int n)int i;T value=x0;for (i=1;in;i+)if (valuexi)value=xi;return value;void main()int arrayA=5,8,2,9,1,7;double arrayB=3.8,5.8,2.7,9.4,1.6;coutfun(arrayA,6)endl;coutfun(arrayB,5)endl;10、以下程序運行后輸出的第一行是 (23) ,第二行是 (24) 。 #include using namespace std; class base public: virtual void fun(
18、void) coutbase:funendl; ;class divide:public base public: void fun(void) coutdivide:funendl; ;void main(void) divide d; base b1; base & b2=d; b2.fun(); b1.fun();11、以下程序運行后有多行輸出,其中第一行是 (25) ,第二行是 (26) 第三行是 (27) ,第四行是 (28) 。#includeusing namespace std;class Aint n;public:A( )coutconstructing Aendl;A(
19、)coutdestructing Aendl;class B:public Aint n; A a;public:B( )coutconstructing Bendl;B( )coutdestructing Bendl;void main( )B b; 12、以下程序運行后第一行輸出內(nèi)容是 (29) ,第二行輸出內(nèi)容是 (30) 。#includeusing namespace std;const double PI=3.14159;class Shape /定義抽象基類 Shapepublic: virtual void display( ) =0; /聲明純虛函數(shù);class Rectan
20、gle:public Shape /定義派生矩形類Rectanglepublic: Rectangle(double h,double w):hight(h),width(w) void display( ) /純虛函數(shù)的實現(xiàn)代碼 couthight*widthendl; private:double hight,width;class Circle:public Shape /定義派生圓類Circlepublic:Circle(double r):radius(r) void display( ) /純虛函數(shù)的實現(xiàn)代碼 coutPI*radius*radiusdisplay( ); /調(diào)用R
21、ectangle類的display函數(shù) ptr1-display( ); /調(diào)用Circle類的display函數(shù) delete ptr0; delete ptr1;四、程序填空題(每空2分)下面的程序利用虛函數(shù)實現(xiàn)多態(tài)性,結(jié)合程序上下文并根據(jù)提示將程序補充完整: #include class Shape / 定義一個抽象類Shape protected: int w,h; public: Shape(int w1):w(w1) Shape(int w1,int h1):w(w1),h(h1) ; / 聲明純虛函數(shù)Area( ); / 定義圓類并公有繼承形狀類 public: Circle(int r):Shape(r) / 圓類的構(gòu)造函數(shù) void Area( ) cout圓面
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北南和一中2024-2025學(xué)年高三第九次適應(yīng)性考試物理試題含解析
- 江蘇護(hù)理職業(yè)學(xué)院《醫(yī)學(xué)基礎(chǔ)與思維綜合實訓(xùn)Ⅰ》2023-2024學(xué)年第二學(xué)期期末試卷
- 寧夏銀川市六盤山高級中學(xué)2025年高三一診模擬考試物理試題含解析
- 淄博師范高等??茖W(xué)?!冻炭亟粨Q原理》2023-2024學(xué)年第二學(xué)期期末試卷
- 遼寧沈陽市第31中學(xué)2025屆高三下學(xué)期第一學(xué)段考數(shù)學(xué)試題含解析
- 華北水利水電大學(xué)《電視攝像與節(jié)目編輯》2023-2024學(xué)年第二學(xué)期期末試卷
- 四川成都龍泉驛區(qū)一中2024-2025學(xué)年高三聯(lián)考B卷語文試題含解析
- 云南省個舊市北郊教育聯(lián)合會2025屆初三二輪復(fù)習(xí)研究性考試(五)英語試題含答案
- 江西傳媒職業(yè)學(xué)院《口腔修復(fù)學(xué)實踐(Ⅱ)》2023-2024學(xué)年第二學(xué)期期末試卷
- 浙江省溫州市文成縣平和中學(xué)2025年初三年級十二月份階段測試語文試題試卷含解析
- 帶著思考去工作
- 教育教學(xué)研究項目效果實踐檢驗報告
- 提升員工的團隊協(xié)作與溝通能力
- 辦學(xué)許可證續(xù)期申請書
- 第三章 裝配式混凝土預(yù)制構(gòu)件生產(chǎn)工藝
- crystalball模擬基礎(chǔ)教程課件
- 夏商周考古-鄭州大學(xué)中國大學(xué)mooc課后章節(jié)答案期末考試題庫2023年
- 【上海市靜安區(qū)寶山路街道社區(qū)養(yǎng)老問題調(diào)查報告】
- 公文筐測驗(案例題解示范)
- 外科學(xué)骨與關(guān)節(jié)化膿性感染
- 口腔一般檢查方法口腔一般檢查方法
評論
0/150
提交評論