習(xí)題一(帶答案)_第1頁
習(xí)題一(帶答案)_第2頁
習(xí)題一(帶答案)_第3頁
習(xí)題一(帶答案)_第4頁
習(xí)題一(帶答案)_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、習(xí)題一習(xí)題中紅色字體的題目是暫時(shí)沒有講到的,同學(xué)們可以暫時(shí)跳過。一、 填空題1、面向?qū)ο蟮某绦蛟O(shè)計(jì)有四大特點(diǎn),它們是抽象、封裝、( )、( )。2、類中的成員使用特定的關(guān)鍵字指定不同的訪問特性,其中( )成員是提供給外部的接口,在類中和類外可見。3、protected成員的訪問權(quán)限:派生類( )訪問protected成員,派生類對象( )訪問protected成員,本類的對象( )訪問protected成員(填:能與不能)。4、C+語言中類成員的訪問權(quán)限包括private、( )和( )。5、對一個(gè)類中的數(shù)據(jù)成員的初始化可以通過構(gòu)造函數(shù)中的( )實(shí)現(xiàn),也可以通過構(gòu)造函數(shù)中的( )實(shí)現(xiàn)。6、假定

2、AB為一個(gè)類,則執(zhí)行“AB a10;”語句時(shí),系統(tǒng)自動調(diào)用該類的構(gòu)造函數(shù)的次數(shù)為( )。7、假定用戶沒有給一個(gè)名為AB的類定義構(gòu)造函數(shù),則系統(tǒng)為其隱含定義的構(gòu)造函數(shù)為( )。8、若類X中沒有定義拷貝構(gòu)造函數(shù),則系統(tǒng)為類X定義的默認(rèn)拷貝構(gòu)造函數(shù)的原型為( )。9、類中的成員只能為該類的成員函數(shù)及該類的派生類中的成員函數(shù)訪問,則應(yīng)加上訪問屬性( )。10、假設(shè)一個(gè)類對象數(shù)組為am,其中m為常變量,當(dāng)離開它的作用域時(shí),系統(tǒng)自動調(diào)用該類析構(gòu)函數(shù)的次數(shù)為( )。11、設(shè)p為指向一個(gè)動態(tài)對象的指針變量,則執(zhí)行delete p語句時(shí),將自動調(diào)用該類的( )。12、在一個(gè)類中定義了全部是默認(rèn)參數(shù)的構(gòu)造函數(shù)后,

3、不能再定義( )構(gòu)造函數(shù)。13、假設(shè)有一個(gè)Test類,則執(zhí)行“Test a(5),b2,*p;”語句時(shí),自動調(diào)用該類構(gòu)造函數(shù)的次數(shù)為( )。14、若將類A的成員函數(shù)“void fun();”定義為一個(gè)類B的友元函數(shù),則應(yīng)在類B的定義中加一條語句:( )。15、當(dāng)一個(gè)對象作用域結(jié)束時(shí),系統(tǒng)自動調(diào)用( )函數(shù)來釋放存儲空間。16、對于類中定義的成員,其默認(rèn)訪問權(quán)限為( )。17、每個(gè)對象都有一個(gè)指向自身的指針,稱為( )指針,通過使用它來確定其自身的地址。18、一個(gè)類有( )個(gè)析構(gòu)函數(shù)。19、在類內(nèi)定義的( )數(shù)據(jù)不能被不屬于該類的成員函數(shù)存取。20、this指針是一個(gè)隱含的指針,它隱含于每個(gè)類的

4、( )中。二、 選擇題1、以下關(guān)于類和對象的敘述錯(cuò)誤的是( )。A. 對象是類的一個(gè)實(shí)例B. 任何一個(gè)對象都?xì)w屬于一個(gè)具體的類C. 一個(gè)類只能有一個(gè)對象D. 類與對象的關(guān)系和數(shù)據(jù)類型與變量的關(guān)系相似2、以下關(guān)于構(gòu)造函數(shù)的敘述錯(cuò)誤的是( )。A. 構(gòu)造函數(shù)名必須與類名相同B. 構(gòu)造函數(shù)在定義對象時(shí)自動執(zhí)行C. 構(gòu)造函數(shù)無任何函數(shù)類型D. 在一個(gè)類中構(gòu)造函數(shù)又且僅有一個(gè)3、以下關(guān)于析構(gòu)函數(shù)的敘述錯(cuò)誤的是( )。A. 一個(gè)類中只能定義一個(gè)析構(gòu)函數(shù)B. 析構(gòu)函數(shù)和構(gòu)造函數(shù)一樣可以有形參C. 析構(gòu)函數(shù)不允許有返回值D. 析構(gòu)函數(shù)名前必須冠有符號“”4、以下敘述正確的是( )。A. 在類中不作特別說明的數(shù)

5、據(jù)成員均為私有類型B. 在類中不作特別說明的成員函數(shù)均為公有類型C. 類成員的定義必須放在類體內(nèi)D. 類成員的定義必須是成員變量在前,成員函數(shù)在后5、以下敘述不正確的是( )。A. 一個(gè)類的所有對象都有各自的數(shù)據(jù)成員,它們共享成員函數(shù)B. 一個(gè)類中可以有多個(gè)同名的成員函數(shù)C. 一個(gè)類中可以有多個(gè)構(gòu)造函數(shù)、多個(gè)析構(gòu)函數(shù)D. 類成員的定義必須是成員變量在前,成員函數(shù)在后6、以下不屬于構(gòu)造函數(shù)特征的是( )。A. 構(gòu)造函數(shù)名與類名相同B. 構(gòu)造函數(shù)可以重載C. 構(gòu)造函數(shù)可以設(shè)置默認(rèn)參數(shù)D. 構(gòu)造函數(shù)必須指定函數(shù)類型7、下列函數(shù)中,是類MyClass的析構(gòu)函數(shù)的是( )。A. Myclass();B.

6、 MyClass();C. MyClass();D. MyClass(int n);8、關(guān)于類和對象不正確的說法是( )。A. 類是一種類型,它封裝了數(shù)據(jù)和操作B. 對象是類的實(shí)例C. 一個(gè)類的對象只有一個(gè)D. 一個(gè)對象必屬于某個(gè)類9、在類定義的外部,可以被訪問的成員有( )。A. 所有類成員B. private或protected的類成員C. public的類成員D. public或private的類成員10、關(guān)于this指針的說法錯(cuò)誤的是( )。A. this指針不能被顯示說明B. 當(dāng)創(chuàng)建一個(gè)對象后,this指針就指向該對象C. 成員函數(shù)擁有this指針D. 靜態(tài)成員函數(shù)擁有this指針1

7、1、下面有關(guān)new運(yùn)算符的描述,錯(cuò)誤的是( )。A. 使用new運(yùn)算符創(chuàng)建對象時(shí),會調(diào)用類的構(gòu)造函數(shù)B. 使用new運(yùn)算符創(chuàng)建數(shù)組時(shí),必須定義初始值C. 使用new運(yùn)算符創(chuàng)建的對象可以使用delete運(yùn)算符刪除D. new運(yùn)算符可以用來動態(tài)創(chuàng)建對象和對象數(shù)組12、下面關(guān)于成員函數(shù)的特征中,說法錯(cuò)誤的是( )。A. 成員函數(shù)可以重載B. 成員函數(shù)可以是靜態(tài)的C. 成員函數(shù)一定是內(nèi)聯(lián)函數(shù)D. 成員函數(shù)可以設(shè)置參數(shù)的默認(rèn)值13、在通常情況下,復(fù)制構(gòu)造函數(shù)的參數(shù)是( )。A. 某個(gè)對象的引用名B. 某個(gè)對象名C. 某個(gè)對象的成員名D. 某個(gè)對象指針名14、在類體外定義成員函數(shù)時(shí),需要在函數(shù)名前加上(

8、)。A. 類對象B. 類標(biāo)記C. 類名和作用域運(yùn)算符D. 域運(yùn)算符15、下面關(guān)于時(shí)間類Time定義的說法中,正確的是( )。Time time1,time30;Time *pTime;Time &time2=time1;A. time30是一個(gè)數(shù)組,它具有30個(gè)元素B. pTime就是指向Time類對象的指針C. time2是一個(gè)類對象引用,定義時(shí)必須對其進(jìn)行初始化,使之成為對象time1的別名D. 以上答案都正確三、 判斷題1、任何一個(gè)對象只能屬于一個(gè)具體的類。2、構(gòu)造函數(shù)可以有參數(shù),但不可以有返回值。3、一個(gè)類可以有多個(gè)構(gòu)造函數(shù),也可以有多個(gè)析構(gòu)函數(shù)。4、對一個(gè)類中數(shù)據(jù)成員的初始化可以通過

9、構(gòu)造函數(shù)中的參數(shù)初始化表實(shí)現(xiàn)。5、使用new運(yùn)算符動態(tài)創(chuàng)建對象數(shù)組時(shí)必須指定初始值。6、一個(gè)類的所有對象都有各自的數(shù)據(jù)成員,它們共享成員函數(shù)。7、一個(gè)類中可以有多個(gè)同名的成員函數(shù)。8、類成員的定義可以是數(shù)據(jù)成員在前,成員函數(shù)在后。9、類的靜態(tài)成員函數(shù)的初始化工作要放在類外進(jìn)行。10、類與對象的關(guān)系和數(shù)據(jù)類型與變量的關(guān)系相似。四、 分析題1、#include class Datepublic:void set(int y, int m, int d);void print();private:int year, month, day;void Date:set(int y, int m, int

10、 d)year = y;month = m;day = d;void Date:print()coutyear.month.dayendl;void main()Date t1;t1.set(2005,3,3);t1.print();2、#include class Datepublic:Date ();Date (int y, int m, int d);void print();private:int year, month, day;Date: Date ():year(2005),month(3),day(15)Date: Date (int y, int m, int d):year

11、(y),month(m),day(d)void Date:print()coutyear.month.dayendl;void main()Date t1,t2(2005,3,18) ;t1.print();t2.print();3、# include class Apublic: int f1(); int f2(); void setx(int m) x=m; coutxendl; void sety(int n ) y= n; coutyendl; int getx() return x; int gety() return y; private: int x, y; ; int A:f

12、1() return x+y; int A:f2() return x-y; void main() A a;a.setx(10); a.sety(5); couta.getx()tgety()endl; couta.f1()ta.f2()endl;4、# include class T public: T(int x, int y) a=x; b=y; cout”diao yong gou zao han shu 1.”endl; coutatbendl; T(T &d) cout”diao yong gou zao han shu 2.”endl; cout d.atd.bendl; T(

13、) cout”diao yong xi gou han shu.”endl; int add(int x,int y=10) return x+y; private: int a,b; ; void main() T d1(4,8); T d2(d1); coutd2.add(10)endl; 5、#includeclass Aint a;double b;public:A(int x=100,double y=1.2)a=x;b=y;void show(char *pt)coutpt:endl;couta=aendl;coutb=bshow(p-obj1);(*p).show(*p)obj1

14、);p=&obj2;p-show(p-obj2); (*p).show(*p)obj2);p=new A;p-show(p-new);delete p;6、#includeclass Kpublic:int x;K (int i)x=i;void fun1(int j)x+=j;coutfun1:xendl;void fun2(int j)x+=j;coutfun2:xendl;void main()K c1(3),c2(6);void(K:*pfun)(int)=K:fun1;(c1.*pfun)(6);pfun=K:fun2;(c2.*pfun)(12);7、#includeusing n

15、amespace std;class TIME;class DATEpublic:DATE(int a=2004,int m=9,int b=23)year=a;month=m;day=b;void DateTime(TIME &t);private:int year,month,day;class TIMEpublic:TIME(int h=0,int m=0,int s=0)hour=h;minute=m;second=s;friend void DATE:DateTime(TIME&t);private:int hour,minute,second;void DATE:DateTime(

16、TIME&t)coutNow isyear.month.dayt.hour:t.minute:t.second.obj1:a=100b=1.2(*p)obj1:a=100b=1.2p-obj2:a=100b=3.5(*p)obj2:a=100b=3.5p-new:a=100b=1.26、fun1:9fun2:187、Now is2004.9.2310:20:50.五、 編程題1、#include #include class Bookprivate:char name20;char author20;float sale;public:Book(char n=C+,char au=Li,flo

17、at s=0)strcpy(name,n);strcpy(author,au);sale=s;Book()cout析構(gòu)函數(shù)被調(diào)用!endl;void setBook(char n,char au,float s)strcpy(name,n);strcpy(author,au);sale=s;void showBook()coutname:nameendl;coutauthor:authorendl;coutsale:saleendl;void main()Book b;b.showBook();b.setBook(datastructure,YanWeiMin,29);b.showBook()

18、;2、#include #include class pointpublic:void set();void getline(point);private:float x,y,z;void point:set()coutxyz;void point:getline(point p2)double l;l=sqrt(x-p2.x)*(x-p2.x)+(y-p2.y)*(y-p2.y)+(z-p2.z)*(z-p2.z);cout這兩點(diǎn)的距離為lendl;int main()point p1,p2;p1.set();p2.set(); p1.getline(p2);return 0;3、#incl

19、ude using namespace std;class clockpublic:void settime(int newh=0,int newm=0,int news=0);void showtime();private:int hour,minute,second;void clock:settime(int newh,int newm,int news)hour=newh;minute=newm;second=news;void clock:showtime()cout現(xiàn)在的時(shí)間為:;couthour-minute-secondendl;int main()clock t1,t2,t3

20、,t4;t1.settime(12,34,12);t1.showtime();t2.settime(12,34);t2.showtime();t3.settime(12);t3.showtime();t4.settime();t4.showtime();return 0;4、#include using namespace std;class ADDpublic:int add(int xx,int yy);float add(float xx,float yy); double add(double xx,double yy);void print(int z);void print(flo

21、at z);void print(double z);private:int x1,y1,z1;float x2,y2,z2;double x3,y3,z3;int ADD:add(int xx,int yy)x1=xx;y1=yy; z1=x1+y1;return z1;float ADD:add(float xx,float yy)x2=xx;y2=yy; z2=x2+y2;return z2;double ADD:add(double xx,double yy)x3=xx;y3=yy; z3=x3+y3;return z3;void ADD: print(int z)cout x1t y1t zendl;void ADD: print(float z)cout x2t

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論