構(gòu)造函數(shù)和析構(gòu)函數(shù)_第1頁
構(gòu)造函數(shù)和析構(gòu)函數(shù)_第2頁
構(gòu)造函數(shù)和析構(gòu)函數(shù)_第3頁
構(gòu)造函數(shù)和析構(gòu)函數(shù)_第4頁
構(gòu)造函數(shù)和析構(gòu)函數(shù)_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、一、 選擇題1、以下有關(guān)構(gòu)造函數(shù)的敘述不正確的是()。A、構(gòu)造函數(shù)名必須和類名一致B、構(gòu)造函數(shù)在定義對象時(shí)自動(dòng)執(zhí)行C、構(gòu)造函數(shù)無任何函數(shù)類型D、在一個(gè)類構(gòu)造函數(shù)有且僅有一個(gè)2、以下有關(guān)析構(gòu)函數(shù)的敘述不正確的是()。A、一個(gè)類只能定義一個(gè)析構(gòu)函數(shù)B、析構(gòu)函數(shù)和構(gòu)造函數(shù)一樣可以有形參C、析構(gòu)函數(shù)不允許有返回值D、析構(gòu)函數(shù)名前必須冠有符號“”3、系統(tǒng)提供的默認(rèn)拷貝構(gòu)造函數(shù)中形參表和函數(shù)體分別為()。A、形參表為空,函數(shù)體為空B、形參表為空,函數(shù)體不為空C、形參表不為空,函數(shù)體為空D、形參表不為空,函數(shù)體不為空4、設(shè)A為test類的對象且賦有初值,則語句test B=A;表示()。A、語法錯(cuò)B、為對象

2、A定義一個(gè)別名C、調(diào)用復(fù)制構(gòu)造函數(shù),將對象A復(fù)制給對象BD、僅說明B和A屬于同一類5、若有如下類定義,則下列敘述正確的是()。 class Time int H,M,S; public: void Time(int h,int m,int s) ; /A /BA、A行有錯(cuò)誤B、B行有錯(cuò)誤C、A和B行都有錯(cuò)誤D、A和B行都沒有錯(cuò)誤6、若有如下類定義,則下列敘述正確的是()。 class S int x; public: S ( ) x=0; S (int a) x=+a; void show( ) cout”x=”xendl; ; int main() S s1=100; s1.show();

3、return 0; A、有語法錯(cuò)B、100C、101D、07、若有如下類定義,x的值是()。 class S int x; S (int a=0) x=+a; S ( ) ; ; int main( ) S a (10); return 0;A、0B、10C、11D、有語法錯(cuò),得不到值8、假定AB為一個(gè)類,則執(zhí)行“AB a(4),b3,*p2;”語句時(shí),自動(dòng)調(diào)用該類構(gòu)造函數(shù)的次數(shù)為()。A、3B、4C、6D、99、已定義類A,該類構(gòu)造函數(shù)的參數(shù)都沒有缺省值,執(zhí)行語句:A a1(2),a2(1,2),*p=new A3;則自動(dòng)調(diào)用該類缺省的構(gòu)造函數(shù)的次數(shù)為()。A、1B、2C、3D、510、假定

4、AB為一個(gè)類,則該類的拷貝構(gòu)造函數(shù)的聲明語句為()。A、AB &(AB x);B、AB(AB x);C、AB(AB &);D、AB(AB *x);11、C+中不能被派生類繼承的是()。A、虛函數(shù)B、析構(gòu)函數(shù)C、靜態(tài)成員函數(shù)D、運(yùn)算符重載函數(shù)12、若有以下程序: # include using namespace std; class Q int x,y; public: Q(int a=0,int b=0) x=a; y=b; ; int main( ) Q q( ); /L return 0;則以下說法正確的是()。A、L行說明了一個(gè)對象qB、L行說明了一個(gè)函數(shù)原型C、L行說明了一個(gè)對象數(shù)組

5、D、以上說法都不正確13、不屬于構(gòu)造函數(shù)的特點(diǎn)是()。A、具有與類名相同的函數(shù)名B、帶返回值C、允許重載D、在定義類的對象時(shí)自動(dòng)調(diào)用14、以下屬于析構(gòu)函數(shù)特征的是()。A、析構(gòu)函數(shù)名與類名不能相同B、析構(gòu)函數(shù)的定義必須在類體內(nèi)C、析構(gòu)函數(shù)可以帶或不帶參數(shù)D、在一個(gè)類中析構(gòu)函數(shù)有且僅有一個(gè)15、當(dāng)系統(tǒng)提供一個(gè)默認(rèn)的構(gòu)造函數(shù)時(shí),該構(gòu)造函數(shù)的形參表和函數(shù)體為()。A、無形參,函數(shù)體為空B、有形參,函數(shù)體為空C、無形參,函數(shù)體不為空D、有形參,函數(shù)體不為空16、下列關(guān)于構(gòu)造函數(shù)與析構(gòu)函數(shù)的敘述中錯(cuò)誤的是()。A、均無返回值B、均不可定義為虛函數(shù)C、構(gòu)造函數(shù)可以重載,而析構(gòu)函數(shù)不可重載D、構(gòu)造函數(shù)可帶參

6、數(shù),而析構(gòu)函數(shù)不可帶參數(shù)17、當(dāng)對象要消除的時(shí)候,系統(tǒng)自動(dòng)調(diào)用的函數(shù)是()。A、拷貝構(gòu)造函數(shù)B、復(fù)制函數(shù)C、構(gòu)造函數(shù)D、析構(gòu)函數(shù)18、析構(gòu)函數(shù)與構(gòu)造函數(shù)非共同具有的特點(diǎn)是()。A、函數(shù)名與類名相同B、允許重載C、不能使用void說明返回類型D、不帶返回值19、拷貝函數(shù)的作用為()。A、創(chuàng)建一個(gè)與已知對象共用同一內(nèi)存地址的對象B、用一個(gè)已知對象來初始化一個(gè)被創(chuàng)建的同類的對象C、創(chuàng)建一個(gè)與已知對象完全相同的對象D、創(chuàng)建一個(gè)臨時(shí)對象20、通??截悩?gòu)造函數(shù)的形參是()。A、指向?qū)ο蟮闹羔楤、對象的引用C、一個(gè)對象D、類21、假定A為一個(gè)類,并執(zhí)行語句A a; 后,則()。A、系統(tǒng)將自動(dòng)調(diào)用構(gòu)造函數(shù)B、

7、系統(tǒng)將自動(dòng)調(diào)用析構(gòu)函數(shù)C、系統(tǒng)將自動(dòng)調(diào)用拷貝構(gòu)造函數(shù)D、系統(tǒng)將自動(dòng)調(diào)用復(fù)制構(gòu)造函數(shù)二、 填空題:1、若AB為一個(gè)類的類名,執(zhí)行語句: AB a10;則系統(tǒng)自動(dòng)調(diào)用該類的構(gòu)造函數(shù)的次數(shù)為()。2、下列程序的輸出結(jié)果是()。 class Sample public: int x,y; Sample(int a) x=a; Sample(int a,int b) x=a; y=b; coutxn; Sample( ) cout”delete”n; ; int main( ) Sample s1(5); s1.Sample( ); return 0; 3、下列程序的輸出結(jié)果是()。 class S i

8、nt x; public: S(int a) x=a; S(S &a) x=a.x+1; void show( ) cout”x=”xendl; ; int main( ) S s1(2),s2(s1); s2.show( ); return 0;4、下列程序的輸出結(jié)果是()。 class A public: int X; A(int x) X=x*x; ; class S int x; A a; public: S(int b, int c): a(c) x=b+a.X; void show( ) cout”x=”xendl; ; int main( ) S s1(2,3); s1.show

9、( ); return 0; 5、寫出以下程序的執(zhí)行結(jié)果()。 #include using namespace std; class B int x,y; public: B( ) x=y=0; cout”Con1”t; B(int i) x=i; y=0; cout”Con2”t; B(int i,int j) x=i; y=j; cout”Con3t; B( ) cout”Des”t; ; int main( ) B *ptr; ptr=new B3; ptr0=B( ); ptr1=B(1); ptr2=B(2,3); delete ptr; return 0; 6、下列程序的輸出結(jié)果

10、分別為()和()。 class A public: double m; int n; A(double i=5,int j=6) m=i; n=j; ; int main( ) A a(12); couta.mta.n; return 0;7、下列程序第一行和第二行輸出結(jié)果分別是()。class Sample public: int x,y; Sample( ) x=y=0; Sample(int a) x=a; Sample(double a) x=+(int) a; void show( ) cout”x=”xn; ;int main( ) Sample s1(5),s2(10/5.0);

11、 s1.show( ); s2.show( ); return 0;8、下列程序的第一行輸出的結(jié)果是(),第二行輸出的結(jié)果是()。class S int x.y; public: S( ) x=y=0; S(int a,int b) x=a;y=b; S( ) if(x=y) cout”x=y”endl; else cout”x!=y”endl; ;int main( ) S s1,s2(2,3); return 0; 9、下列程序的輸出結(jié)果分別是()和()。class A public: A(double i=5,int j=10) m=i; n=j; double m; int n;int

12、 main( ) A a(5,6); a=A(20); couta.mta.n; return 0;10、如下程序的第一行輸出結(jié)果是(),第二行輸出結(jié)果是(),第三行輸出結(jié)果是()。#includeusing namespace std;class Test int x,y; public: Test(int a,int b) x=a; y=b; cout”調(diào)用了構(gòu)造函數(shù)!n”; Test(Test &t) x=t.x; y=t.y; cout”調(diào)用了拷貝構(gòu)造函數(shù)!n”; void show( ) cout”x=”x”ty=”yendl; ;int main( ) Test t1(10,20)

13、; Test t2=t1; Test t3(t1); return 0;11、下列程序的輸出結(jié)果是( )。#includeusing namespace std;class Sample int x; public: Sample ( ) Sample (int a) x=a; Sample (Sample &a) x=a.x+10; void disp(char *ob) cout” “ob”.x=”x;int main() Sample s1,s2 (20),s3 (s2); s1=s2; s1.disp(“s1”); s2.disp(“s2”); s3.disp(“s3”); retur

14、n 0;12、若有下列類定義,請對其構(gòu)造函數(shù)進(jìn)行完善。class A public: int X; A(int x) X=x*x; ;class S int x; A a; public: S( int b, int c) _ x=b+_ .X; ;13、下面的字符串類實(shí)現(xiàn)了對英語單詞的初始化,并且實(shí)現(xiàn)搜尋子串的功能,若存在相應(yīng)的子串,則進(jìn)行相應(yīng)的統(tǒng)計(jì)。請完善該程序。 #include #include #include using namespace std; static int n=0; class Word char name20; public: Word (char n) if (strlen(n)19) cout”單詞太長!”, exit(0); for (int i=0;ni!=0;i+) _; namei=0; void search(char s ) int j; for (

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論