版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、習(xí)題習(xí)題中紅色字體的題目是暫時沒有講到的,同學(xué)們可以暫時跳過。一、填空題1、面向?qū)ο蟮某绦蛟O(shè)計(jì)有四大特點(diǎn),它們是抽象、封裝、)、()。2、類中的成員使用特定的關(guān)鍵字指定不同的訪問特性,其中()成員是提供給外部的接口,在類中和類外可見。3、 protected 成員的訪問權(quán)限: 派生類 ()訪問 protected 成員,派生類對象 ()訪問protected 成員,本類的對象 ()訪問 protected 成員(填:能與不能) 。4、C+語言中類成員的訪問權(quán)限包括private 、 ()和()。5 、對一個類中的數(shù)據(jù)成員的初始化可以通過構(gòu)造函數(shù)中的)實(shí)現(xiàn),也可以通過構(gòu)造函數(shù)中的 ()實(shí)現(xiàn)。6、
2、假定 AB 為一個類,則執(zhí)行“ AB a10; ”語句時,系統(tǒng)自動調(diào)用該類的構(gòu)造函數(shù)的次)。數(shù)為 (7、假定用戶沒有給一個名為 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è)一個類對象數(shù)組為am ,其中 m 為常變量,當(dāng)離開它的作用域時,系統(tǒng)自動調(diào)用該類析構(gòu)函數(shù)的次數(shù)為()。11、設(shè) p 為指向一個動態(tài)對象的指針變量,則執(zhí)行delete p 語句時,將自動調(diào)用該類的)。12、在一個類中定義了全部是默認(rèn)參數(shù)
3、的構(gòu)造函數(shù)后,不能再定義()構(gòu)造函數(shù)。13、假設(shè)有一個 Test 類,則執(zhí)行“ Test a(5),b2,*p; ”語句時,自動調(diào)用該類構(gòu)造函數(shù)的次數(shù)為()。14、若將類A的成員函數(shù)“ void fun(); ”定義為一個類B的友元函數(shù),則應(yīng)在類 B的定義中加一條語句: ()。15、當(dāng)一個對象作用域結(jié)束時,系統(tǒng)自動調(diào)用()函數(shù)來釋放存儲空間。16、對于類中定義的成員,其默認(rèn)訪問權(quán)限為()。17、每個對象都有一個指向自身的指針,稱為()指針,通過使用它來確定其自身的地址。18、一個類有()個析構(gòu)函數(shù)。19、在類內(nèi)定義的()數(shù)據(jù)不能被不屬于該類的成員函數(shù)存取。20、 this 指針是一個隱含的指針
4、,它隱含于每個類的()中。二、選擇題1、以下關(guān)于類和對象的敘述錯誤的是)。2、A. 對象是類的一個實(shí)例C. 一個類只能有一個對象以下關(guān)于構(gòu)造函數(shù)的敘述錯誤的是B. 任何一個對象都?xì)w屬于一個具體的類D. 類與對象的關(guān)系和數(shù)據(jù)類型與變量的關(guān)系相似)。A. 構(gòu)造函數(shù)名必須與類名相同B. 構(gòu)造函數(shù)在定義對象時自動執(zhí)行3、C. 構(gòu)造函數(shù)無任何函數(shù)類型以下關(guān)于析構(gòu)函數(shù)的敘述錯誤的是D. 在一個類中構(gòu)造函數(shù)又且僅有一個)。A. 一個類中只能定義一個析構(gòu)函數(shù)B. 析構(gòu)函數(shù)和構(gòu)造函數(shù)一樣可以有形參4、C. 析構(gòu)函數(shù)不允許有返回值以下敘述正確的是()。D. 析構(gòu)函數(shù)名前必須冠有符號“ ”A. 在類中不作特別說明的
5、數(shù)據(jù)成員均為私有類型B. 在類中不作特別說明的成員函數(shù)均為公有類型C. 類成員的定義必須放在類體內(nèi)D. 類成員的定義必須是成員變量在前,成員函數(shù)在后5、以下敘述不正確的是()。A. 一個類的所有對象都有各自的數(shù)據(jù)成員,它們共享成員函數(shù)B. 一個類中可以有多個同名的成員函數(shù)C. 一個類中可以有多個構(gòu)造函數(shù)、多個析構(gòu)函數(shù)D. 類成員的定義必須是成員變量在前,成員函數(shù)在后6、以下不屬于構(gòu)造函數(shù)特征的是()。A. 構(gòu)造函數(shù)名與類名相同B. 構(gòu)造函數(shù)可以重載7、下列函數(shù)中,是類 MyClass 的析構(gòu)函數(shù)的是()。8、A. Myclass(); B. MyClass();關(guān)于類和對象不正確的說法是()。
6、C. MyClass(); D. MyClass(int n);A. 類是一種類型,它封裝了數(shù)據(jù)和操作B. 對象是類的實(shí)例C. 一個類的對象只有一個D. 一個對象必屬于某個類9、在類定義的外部,可以被訪問的成員有()。A. 所有類成員B. private 或 protected 的類成員C. public 的類成員D. public 或 private 的類成員10、關(guān)于 this 指針的說法錯誤的是()。A. this 指針不能被顯示說明B. 當(dāng)創(chuàng)建一個對象后, this 指針就指向該對象C. 成員函數(shù)擁有 this 指針D. 靜態(tài)成員函數(shù)擁有 this 指針11、下面有關(guān) new 運(yùn)算符的
7、描述,錯誤的是()。A. 使用 new 運(yùn)算符創(chuàng)建對象時,會調(diào)用類的構(gòu)造函數(shù)B. 使用 new 運(yùn)算符創(chuàng)建數(shù)組時,必須定義初始值C. 使用new運(yùn)算符創(chuàng)建的對象可以使用delete運(yùn)算符刪除D. new 運(yùn)算符可以用來動態(tài)創(chuàng)建對象和對象數(shù)組12、下面關(guān)于成員函數(shù)的特征中,說法錯誤的是()。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. 某個對象的引用名B. 某個對象名C. 某個對象的成員名D. 某個對象指針名14、在類體外定義成員函數(shù)時,需要在函數(shù)名前加上(A. 類對象B. 類標(biāo)記
8、C. 類名和作用域運(yùn)算符D. 域運(yùn)算符15、下面關(guān)于時間類 Time 定義的說法中,正確的是()。)。Time time1,time30;Time *pTime;Time &time2=time1;A. time30 是一個數(shù)組,它具有 30 個元素B. pTime 就是指向 Time 類對象的指針1、C. time2 是一個類對象引用,定義時必須對其進(jìn)行初始化,使之成為對象time1 的別名D. 以上答案都正確三、判斷題1、任何一個對象只能屬于一個具體的類。2、構(gòu)造函數(shù)可以有參數(shù),但不可以有返回值。3、一個類可以有多個構(gòu)造函數(shù),也可以有多個析構(gòu)函數(shù)。4、對一個類中數(shù)據(jù)成員的初始化可以
9、通過構(gòu)造函數(shù)中的參數(shù)初始化表實(shí)現(xiàn)。5、使用 new 運(yùn)算符動態(tài)創(chuàng)建對象數(shù)組時必須指定初始值。6、一個類的所有對象都有各自的數(shù)據(jù)成員,它們共享成員函數(shù)。7、一個類中可以有多個同名的成員函數(shù)。8、類成員的定義可以是數(shù)據(jù)成員在前,成員函數(shù)在后。9、類的靜態(tài)成員函數(shù)的初始化工作要放在類外進(jìn)行。10、類與對象的關(guān)系和數(shù)據(jù)類型與變量的關(guān)系相似。四、分析題#include <iostream.h> class Datepublic:void set(int y, int m, int d); void print();private: int year, month, day;void Date
10、:set(int y, int m, int d) year = y; month = m; day = d;void Date:print() cout<<year<<"."<<month<<"."<<day<<endl;void main()Date t1; t1.set(2005,3,3); t1.print();2、#include <iostream.h> class Date public:Date ();Date (int y, int m, int d);
11、void print();private:int year, month, day;Date: Date ():year(2005),month(3),day(15)Date: Date (int y, int m, int d):year(y),month(m),day(d) void Date:print() cout<<year<<"."<<month<<"."<<day<<endl;void main()Date t1,t2(2005,3,18) ;t1.print();t2
12、.print();3、# include<iostream.h> class Apublic:int f1();int f2();void setx(int m) x=m; cout<<x<<endl; void sety(int n ) y= n; cout<<y<<endl; int getx() return x; int gety() return y; private:int x, y;int A:f1() return x+y;int A:f2() return x-y; void main()A a;a.setx(10)
13、; a.sety(5);cout<<a.getx()<< t ''<<gety()<<endl; cout<<a.f1()<< t ' <<a.f2()<<endl;4、# include<iostream.h> class T public:T(int x, int y)a=x; b=y;” <<endl;cout<< ” diao yong gou zao han shu 1. cout<<a<< 't
14、' <<b<<endl;T(T &d)” <<endl;cout<< ” diao yong gou zao han shu 2. cout<< d.a<< t ' <<d.b<<endl;” <<endl;T() cout<< ” diao yong xi gou han shu. int add(int x,int y=10) return x+y;private:int a,b;void main()T d1(4,8);T d2(d1);cout
15、<<d2.add(10)<<endl;5、#include<iostream.h>class Aint a;double b;public:A(int x=100,double y=1.2)a=x;b=y; void show(char *pt) cout<<pt<<":"<<endl;cout<<"a="<<a<<endl;cout<<"b="<<b<<endl;void main()A o
16、bj1,obj2(100,3.5);obj1.show("obj1");obj2.show("obj2");A *p;p=&obj1;p->show("p->obj1");(*p).show("(*p)obj1");p=&obj2;p->show("p->obj2");(*p).show("(*p)obj2"); p=new A;p->show("p->new");delete p;#include<
17、;iostream.h>6、class Kpublic:int x;K (int i)x=i;void fun1(int j)x+=j;cout<<"fun1:"<<x<<endl;void fun2(int j)x+=j;cout<<"fun2:"<<x<<endl; ;void main()K c1(3),c2(6); void(K:*pfun)(int)=K:fun1; (c1.*pfun)(6); pfun=K:fun2;(c2.*pfun)(12);7、#includ
18、e<iostream> using namespace std; class TIME; class DATE public: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 TIME public:TIME(int h=0,int m=0,int s=0) hour=h; minute=m; second=s; friend void DA TE:DateTime(TIME&t); pr
19、ivate:int hour,minute,second;void DATE:DateTime(TIME&t)cout<<"Now is"<<year<<'.'<<month<<'.'<<day<<t.hour<<':'<<t.minute<<':'<<t.second<<'.'<<endl;int main()DATE b(2004
20、,9,23);TIME t(10,20,50);b.DateTime(t);return 0;五、編程題1定義一個圖書類 Book,類中包括name (書名)、author (作者)和sale (銷售量)三個數(shù) 據(jù)成員以及帶三個參數(shù)的 (所有參數(shù)都具有默認(rèn)值)構(gòu)造函數(shù)、析構(gòu)函數(shù)、設(shè)置信息的函數(shù) 和顯示信息的函數(shù)。編寫相應(yīng)程序?qū)λx的類進(jìn)行測試。2 個公 和時間 當(dāng)調(diào)用2、設(shè)計(jì)一個點(diǎn)類 Point,要求給出一個點(diǎn)的坐標(biāo),可以寫出三維坐標(biāo)形式( x,y,z)。實(shí)例化2 個點(diǎn)對象,計(jì)算兩點(diǎn)之間的距離,并輸出顯示結(jié)果。3、 聲明一個時鐘類,包含小時 Hour、分鐘Mi nu tes、秒Seco nd
21、等3個數(shù)據(jù)成員,有 有成員函數(shù), 分別是: 時間設(shè)置函數(shù) SetTime(int NewH=0,int NewM=0,int NewS=0 ) 顯示函數(shù)ShowTime()。在主函數(shù) mian()中。利用時間設(shè)置函數(shù) SetTime設(shè)置。時間, 時間顯示函數(shù) ShowTime() 時就顯示設(shè)置的時間。4、編寫 3 個名為 add 的重載函數(shù),分別實(shí)現(xiàn)兩個整數(shù)相加、兩個單精度數(shù)相加、兩個雙精 度數(shù)相加。5、編寫程序,輸入 5 個學(xué)生的數(shù)學(xué)和語文成績,按總分從高到低排序。要求設(shè)計(jì)一個學(xué)生 類Student實(shí)現(xiàn)該功能。習(xí)題答案一、填空題 繼承,多態(tài) 公用 能,不能,不能 protected, pub
22、lic 初始化表,函數(shù)體10 缺省的構(gòu)造函數(shù)X:X(X &x); protected1、2、3、4、5、6、7、8、9、10、m11、析構(gòu)函數(shù)12、重載13、314、friend void A:fun();15、析構(gòu)16、private17、this18、119、private 和 protected20、非靜態(tài)成員函數(shù)二、選擇題1、C2、 C11、 B 12、C 三、判斷題12四、分析題3、 B4、 A5、 C6、 D7、 C8、 C9、 C10、 D13、 A14、 C15、 D3、x4.V5、X6>V7.V8>V9、x101、2005.3.3 2、2005.3.152
23、005.3.18 3、101015 4、調(diào)用構(gòu)造函數(shù) 1.4調(diào)用構(gòu)造函數(shù) 2.20 調(diào)用析構(gòu)函數(shù) . 調(diào)用析構(gòu)函數(shù) .5、obj1: a=100 b=1.2 obj2: a=100 b=3.5 p->obj1: a=100 b=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 <iostream.h>#include <string.h>c
24、lass Bookprivate:char name20;char author20;float sale;public:Book(char n="C+",char au="Li",float 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 sh
25、owBook()cout<<"name:"<<name<<endl;cout<<"author:"<<author<<endl; cout<<"sale:"<<sale<<endl;void main()Book b;b.showBook();b.setBook("datastructure","YanWeiMin",29); b.showBook();2、 #include <io
26、stream.h> #include <math.h> class pointpublic:void set();void getline(point);private:float x,y,z;void point:set()cout<<" 請輸入坐標(biāo)值 :" cin>>x>>y>>z;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<<&quo
27、t; 這兩點(diǎn)的距離為 "<<l<<endl;int main()point p1,p2;p1.set();p2.set();p1.getline(p2);return 0;#include <iostream> using namespace std; class clock public: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
28、,int news)hour=newh; minute=newm; second=news;void clock:showtime() cout<<" 現(xiàn)在的時間為 :" cout<<hour<<"-"<<minute<<"-"<<second<<endl;int main()clock t1,t2,t3,t4; t1.settime(12,34,12); t1.showtime(); t2.settime(12,34); t2.showtime();
29、 t3.settime(12); t3.showtime(); t4.settime(); t4.showtime(); return 0;4、 #include <iostream>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(float z);void print(double z); private:int x1,y1,
30、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<< x1<<'t'<< y1<&
31、lt;'t'<< z<<endl; void ADD: print(float z)cout<< x2<<'t'<< y2<<'t'<< z<<endl; void ADD: print(double z)cout<< x3<<'t'<< y3<<'t'<< z<<endl; int main()int m1; float m2; double m3;ADD a1,a2,a3;cout<<" 請輸入兩個整型數(shù) :"5、int d1,d2; cin>>d1>>d2; m1=a1.add(d1,d2); cout<<"xz"<
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版建筑鋁模勞務(wù)分包合同編制規(guī)范與合同管理實(shí)務(wù)手冊3篇
- 2024智能家居系統(tǒng)研發(fā)許可合同
- 2024年抵押房產(chǎn)買賣合同模板:規(guī)范操作指南3篇
- 2024年預(yù)售期房定金保障協(xié)議版B版
- 二零二五年度企業(yè)投資擔(dān)保服務(wù)協(xié)議3篇
- 2024年特定供應(yīng)商合作合同書樣本版B版
- 二零二五年度廠區(qū)物料運(yùn)輸合同違約責(zé)任規(guī)定3篇
- 2024年版醫(yī)用消耗品供需合同3篇
- 2024年能源供應(yīng)協(xié)議:電力采購
- 二零二五年度全新?lián)6周囐忎N合作協(xié)議范本3篇
- 大四課件感染深部真菌病
- 就這樣當(dāng)班主任讀書分享
- 《太上老君說五斗金章受生經(jīng)》
- 東南大學(xué)醫(yī)學(xué)三基考試外科選擇題及答案
- TZJASE 005-2021 非道路移動柴油機(jī)械(叉車)排氣煙度 檢驗(yàn)規(guī)則及方法
- GB/T 31989-2015高壓電力用戶用電安全
- CB/T 749-1997固定鋼質(zhì)百葉窗
- 大佛頂首楞嚴(yán)經(jīng)淺釋
- 品牌(商標(biāo))授權(quán)書(中英文模板)
- 行動銷售(最新版)課件
- 船舶軸系與軸系布置設(shè)計(jì)課件
評論
0/150
提交評論