版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、PAGE 面向?qū)ο蟪绦蛟O(shè)計(jì)及C+復(fù)習(xí)題 第15頁(yè) 共15頁(yè)一、填空題1、在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,派生類通過(guò) 機(jī)制獲得基類已定義的屬性和操作。2、在C+語(yǔ)言的異常處理機(jī)制中, 語(yǔ)句用于拋出異常, 語(yǔ)句塊用于檢測(cè)異常, 語(yǔ)句塊用于捕捉和處理異常。3、C+語(yǔ)言支持的兩種多態(tài)性分別是 多態(tài)性和 多態(tài)性。6、C+支持兩種多態(tài)性,其中函數(shù)重載和運(yùn)算符重載用于實(shí)現(xiàn) ,而虛函數(shù)用于實(shí)現(xiàn) 。4、如果要把返回值為void的無(wú)參函數(shù)A聲明為類B的友元函數(shù),則應(yīng)在類B的定義中加入的語(yǔ)句是 。5、在函數(shù)中有這樣的語(yǔ)句來(lái)申請(qǐng)空間:int *p=new int10; 要釋放該空間應(yīng)使用語(yǔ)句 。6、函數(shù)重載要求幾個(gè)同名的函數(shù)
2、必須在形式參數(shù)的個(gè)數(shù)、 、順序的一個(gè)或多個(gè)方面有所區(qū)別 。7、用C+風(fēng)格進(jìn)行文件的輸入/輸出操作時(shí),必須包含的std名空間中的頭文件是 。8、開(kāi)發(fā)C+程序與開(kāi)發(fā)其他高級(jí)語(yǔ)言的程序一樣,包括編輯、編譯、 和_四個(gè)步驟。9、C+語(yǔ)言中的標(biāo)準(zhǔn)輸出流對(duì)象是 ,在程序中用于代表標(biāo)準(zhǔn)輸出_設(shè)備。10、類的成員有3種訪問(wèn)屬性,其默認(rèn)的訪問(wèn)屬性為 ;訪問(wèn)屬性為_(kāi) 的成員既可被派生類繼承又保持了封裝和信息隱藏性。(請(qǐng)?zhí)铌P(guān)鍵字)得 分二、單選題(每題2分) 1、C+語(yǔ)言對(duì)C做了很多改進(jìn),C+語(yǔ)言相對(duì)于C語(yǔ)言的最根本的變化是( )。A、引進(jìn)了類和對(duì)象的概念B、允許函數(shù)重載,并允許設(shè)置缺省參數(shù)C、增加了引用的概念D、
3、增加了一些新的運(yùn)算符2、決定C+函數(shù)的返回值類型的是( )。A、return語(yǔ)句中的表達(dá)式類型B、調(diào)用該函數(shù)時(shí)系統(tǒng)隨機(jī)產(chǎn)生的類型C、調(diào)用該函數(shù)時(shí)的主調(diào)用函數(shù)類型D、在定義該函數(shù)時(shí)所指定的函數(shù)返回值類型3、對(duì)類成員訪問(wèn)權(quán)限的控制,是通過(guò)設(shè)置成員的訪問(wèn)控制屬性實(shí)現(xiàn)的,下列不是訪問(wèn)控制屬性的是( )。A、公有類型 B、私有類型 C、友元類型 D、保護(hù)類型4、下面對(duì)靜態(tài)數(shù)據(jù)成員的描述中,正確的是( )。A、靜態(tài)數(shù)據(jù)成員可以在類體內(nèi)進(jìn)行初始化B、靜態(tài)數(shù)據(jù)成員不可以被類的對(duì)象調(diào)用C、靜態(tài)數(shù)據(jù)成員的訪問(wèn)訪問(wèn)屬性不能為privateD、公有靜態(tài)數(shù)據(jù)成員可以在對(duì)象定義之前以“類名:公有靜態(tài)數(shù)據(jù)成員名”的形式訪問(wèn)
4、5、下面對(duì)于友元函數(shù)描述正確的是( )。A、友元函數(shù)的實(shí)現(xiàn)必須在類的內(nèi)部定義B、友元函數(shù)在一定程度上破壞了類的封裝和信息隱藏C、友元函數(shù)是類的成員函數(shù)D、友元函數(shù)不能訪問(wèn)類的私有成員6、在公有派生情況下,有關(guān)派生類對(duì)象和基類對(duì)象的關(guān)系,下列敘述不正確的是( )。A、派生類的對(duì)象可以賦給基類的對(duì)象B、派生類的對(duì)象可以初始化基類的引用C、派生類的指針可以獲得基類對(duì)象的地址D、派生類的對(duì)象的地址可以賦給指向基類的指針7、下列關(guān)于虛基類的描述,錯(cuò)誤的是( )。A、設(shè)置虛基類的目的是為了消除二義性B、虛基類的構(gòu)造函數(shù)在非虛基類之后調(diào)用C、若派生類由虛基類和普通基類共同派生,則先調(diào)用虛基類的構(gòu)造函數(shù)D、若
5、虛基類由非虛基類派生而來(lái),則仍然先調(diào)用基類構(gòu)造函數(shù)8、下列運(yùn)算符中,在C+語(yǔ)言中不能重載的是( )。A、 : B、= C、= D、/9、有定義class A . ; class B . ; class C:public A B b; A a; .;則定義一個(gè)C類對(duì)象時(shí),各類的構(gòu)造函數(shù)的調(diào)用順序?yàn)椋?)。 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、在下列文件讀寫(xiě)函數(shù)中,進(jìn)行寫(xiě)操作的函數(shù)是( )。A、 get( ) B、 rea
6、d( ) C、getline( ) D、put( )1、假設(shè)已有定義:const char *name=chen;下面語(yǔ)句中錯(cuò)誤的是 。A、name3= a; B、name=lin;C、name=new char5; D、coutname3;11、設(shè)有語(yǔ)句void f(int a10,int &x); int y10,*py=y,n=10; 則對(duì)函數(shù)f的正確調(diào)用語(yǔ)句是 。 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指針的描述中,錯(cuò)誤的是 。 A、this指針可以在程序中顯式使用 B、this指針是在使用對(duì)象時(shí)由系統(tǒng)自動(dòng)生成 C、this指針是指向當(dāng)前對(duì)象的指針 D、this指針是指向成員函數(shù)的指針14、關(guān)于成員函數(shù)特征的下列描述中, 是錯(cuò)誤的。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ù)在定義對(duì)象時(shí)自動(dòng)執(zhí)行C、構(gòu)造函數(shù)無(wú)任何函數(shù)類型 D、一個(gè)類的構(gòu)造函數(shù)有且僅有一個(gè)16、下列哪一項(xiàng)不能訪問(wèn)基類的保護(hù)成員 。 A、基類的友元函數(shù) B、派生類的對(duì)象 C、基類的成員函數(shù) D、公有派生類的成員函數(shù)17、下面有關(guān)基類與公有派生類的賦值兼容原則,正確的是 。 A、公有派生類對(duì)象不能賦給基類對(duì)象 B、基類對(duì)象能賦給其公有派生類的引用C、基類對(duì)象不能賦給公有派生類對(duì)象 D、公有派生類對(duì)象地址不能賦給基類指針變量18、_是一個(gè)在基類中說(shuō)明的虛函數(shù),它在該基類中沒(méi)有定義,但
9、要求任何派生類都必須定義自己的版本。A、虛析構(gòu)函數(shù) B、虛構(gòu)造函數(shù) C、純虛函數(shù) D、靜態(tài)成員函數(shù)19、假定要對(duì)類AB以友元函數(shù)形式重載加號(hào)運(yùn)算符,實(shí)現(xiàn)兩個(gè)AB類對(duì)象的加法,并返回相加結(jié)果,則該函數(shù)的聲明語(yǔ)句為: 。friend AB operator+(AB & a , AB & b); B、friend operator+(AB a);C、friend AB operator+(AB & a); D、friend AB & operator+( );三、讀程題(每空2分)1、以下程序運(yùn)行后輸出的第一行是 (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、以下程序運(yùn)行后輸出的第一行是_(3)_,最后一行的輸出結(jié)果是_(4)_。#include using namespace std;class A裝 訂 線 內(nèi) 不 要 答 題自 覺(jué) 遵 守 考 試 規(guī) 則,誠(chéng) 信 考 試,絕 不 作 弊int a;裝 訂 線 內(nèi) 不 要 答 題自 覺(jué) 遵 守 考 試 規(guī) 則,誠(chéng) 信 考 試,絕 不 作 弊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、以下程序運(yùn)行后有多行輸出,其中第一行是 (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、以下程序運(yùn)行后的輸出結(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!以下程序運(yùn)行后,屏幕輸出的內(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、以下程序運(yùn)行后,第一行輸出結(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、以下程序運(yùn)行后的輸出結(jié)果第一行是 (16) ,第二行是 (17) 。#include using namespace std;int i=0; void main() int i=5; coutiendl; :i=i*20; cout:iendl; 8、以下程序運(yùn)行后,三行的輸出的結(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、以下程序運(yùn)行后輸出的第一行是 (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、以下程序運(yùn)行后輸出的第一行是 (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、以下程序運(yùn)行后有多行輸出,其中第一行是 (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、以下程序運(yùn)行后第一行輸出內(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ù)的實(shí)現(xiàn)代碼 couthight*widthendl; private:double hight,width;class Circle:public Shape /定義派生圓類Circlepublic:Circle(double r):radius(r) void display( ) /純虛函數(shù)的實(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ù)實(shí)現(xiàn)多態(tài)性,結(jié)合程序上下文并根據(jù)提示將程序補(bǔ)充完整: #include class Shape / 定義一個(gè)抽象類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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年設(shè)備融資還款合同
- 2024版二人合伙協(xié)議書(shū)簡(jiǎn)單一點(diǎn)
- 2024年美甲店與美容師用工合同
- 2024年足浴店項(xiàng)目合作合同3篇
- 2024年門頭翻新施工合同
- 2025年度園林綠化工程鏟車租賃及生態(tài)保護(hù)協(xié)議2篇
- 2024年朋友間借款協(xié)議
- 2024年面料原材料批發(fā)與分銷合同3篇
- 2025年度智能停車設(shè)施施工合同示范文本3篇
- 2024年高端咖啡廳合伙經(jīng)營(yíng)及利潤(rùn)分配合同一
- 復(fù)旦大學(xué)外國(guó)留學(xué)生入學(xué)申請(qǐng)表
- 長(zhǎng)安汽車發(fā)動(dòng)機(jī)水溫高故障案例分析處置
- 瞬時(shí)單位線法計(jì)算洪水
- 氣力輸灰安裝施工方案
- 抗精神疾病藥物與麻醉課件
- 2022工業(yè)網(wǎng)關(guān)技術(shù)標(biāo)準(zhǔn) 第1部分:通用技術(shù)要求
- 經(jīng)典紅歌歌譜100首-
- Linux操作系統(tǒng)應(yīng)用(麒麟系統(tǒng))PPT完整全套教學(xué)課件
- 初三物理寒假課程
- 如何預(yù)防心腦血管病
- LY/T 3321-2022草原生態(tài)價(jià)值評(píng)估技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論