版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、椿選范木,供參考!習(xí)題二一、填空題1. 對運算符進(jìn)行重載時,不能 改變結(jié)合性,不能 改變操作數(shù)個數(shù),不能_改變優(yōu)先級。2. 當(dāng)+被重栽為后置成員函數(shù)時需要0 個參數(shù)。3. 當(dāng)+被重載為前置成員函數(shù)時需要1 個參數(shù)。4. 在 C卄中,運算符重載函數(shù)可以是成員函數(shù),也可以是友元函數(shù),還可以是普通函數(shù)。5. 友元破壞了類的封裝性特性。6. 類的友元能夠訪問這個類的所有 成員。7. 類的靜態(tài)數(shù)據(jù)成員的初始化是在類外進(jìn)行的。8. 類的靜態(tài)成員函數(shù)沒有 this指針。9. 類的靜態(tài)成員函數(shù)訪問該類的非靜態(tài)成員可以通過 參數(shù)傳遞對象來實現(xiàn)。10. 不能被重載的類成員函數(shù)是構(gòu)造和析構(gòu)函數(shù)。二、選擇題1.已知類
2、 A 有一個帶 double 型參數(shù)的構(gòu)造函數(shù),且將運算符“ + ”重載為該類友元函數(shù),3.友元運算符表達(dá)式 objlobj2被 C+編譯器解釋為(A )oA. operator(obj 1 ,obj2)C. obj2.operator(obj 1)D. obj 1 .operator(obj2)4下列關(guān)于 C+運算符函數(shù)的返回類型的描述中,錯誤的是(C )o若如下語句:A x(2 5),y(3 6),z(0); z=x+y; 應(yīng)在類中聲明為(D )。A. friend A operator+ (double , double);C friend A operator+ (A &, d
3、ouble);2.卞列關(guān)于運算符重載的描述中,正確的是(A.運算符重載可以改變操作數(shù)的個數(shù)C.運算符重載可以改變結(jié)合性能夠正常運行,運算符重載函數(shù) opeiator+E. friend A operator+ ( double , A &);D friend A operator+ (A &,A &);D )oB.運算符重載可以改變優(yōu)先級D.運算符重載不可以改變語法結(jié)構(gòu)B. (objl,obj2)椿選范木,供參考!B.可以是 int類型A 可以是類類型椿選范木,供參考!C.可以是 void類型 D.可以是 float類型5.為了區(qū)別單目運算符的前置和后置運算,在后置運算
4、符進(jìn)行重載時,額外添加一個參數(shù), 其類型是(D )。6.以下運算符中,不能在 C卄中重載的是(8.若類 A 被說明成類 E 的友元,則(D9.友元的作用是(A )oio.卜列關(guān)于靜態(tài)數(shù)據(jù)成員的特性描述中錯誤的是C.引用靜態(tài)數(shù)據(jù)成員時,要在靜態(tài)數(shù)據(jù)成員名前加“類名”和作用域運算符D.靜態(tài)數(shù)據(jù)成員不是所有對象所共用的11關(guān)于友元的描述中,正確的是(C )。12.用來說明類的友元的是(D )o13.已知 fl和衛(wèi)是同一個類的兩個成員函數(shù),但 fl 不能調(diào)用下列選項中符合要求的是(B )。A. voidB. charC. floatD. mtA. ?:B.+C.-D. =7.在一個類中可以對一個操作符
5、進(jìn)行(D )重載。A. 1 種E.2 種以下C.3 種以下D.多種A.類 A 的成員即類 E的成員B. 類 E 的成員即類 A 的成員C.類 A 的成員函數(shù)不能訪問類 E 的成員D. 類 E 不一定是類 A 的友元A.提高成員的運行效率B. 加強類的対裝性C.實現(xiàn)數(shù)據(jù)的隱藏性D. 增加成員函數(shù)的種類A.說明靜態(tài)數(shù)據(jù)成員時前邊要加 staticB. 靜態(tài)數(shù)據(jù)成員要在類體外進(jìn)行初始化A. 友元函數(shù)是成員函數(shù)的一種,它可以訪問類的私有成員B. 友元函數(shù)不能提高程序的運行效率C. 友元函數(shù)要在類體內(nèi)說明D. 友元函數(shù)增強了類的封裝性和隱藏性A. privateE. protectedC publicD
6、. fiiend椿選范木,供參考!A. fl和 f2都是靜態(tài)函數(shù)B. fl是靜態(tài)函數(shù),2不是靜態(tài)函數(shù)C. fl 不是靜態(tài)函數(shù),2是靜態(tài)函數(shù)D. fl和2 都不是靜態(tài)函數(shù)14.下面對于友元函數(shù)描述正確的是(C )。A.友元函數(shù)的實現(xiàn)必須在類的內(nèi)部定義B.友元函數(shù)是類的成員函數(shù)C.友元函數(shù)破壞了類的封裝性和隱藏性D.友元函數(shù)不能訪問類的保護(hù)成員15. 一個類的友元函數(shù)或友元類能夠通過成員操作符訪問該類的(D )A.私有成員B保護(hù)成員C.公有成員D.所有成員16下面對靜態(tài)數(shù)據(jù)成員的描述中,正確的是(D )A.靜態(tài)數(shù)據(jù)成員可以在類體內(nèi)進(jìn)行初始化 B.靜態(tài)數(shù)據(jù)成員不可以被類的對彖調(diào)用C.靜態(tài)數(shù)據(jù)成員不受
7、 private 控制符的限制 D.靜態(tài)數(shù)據(jù)成員可以直接用類名調(diào)用17. C+語言中提供的(B )不是類的成員,但具有類成員的特權(quán)。A.構(gòu)造函數(shù)B.友元函數(shù)C.虎函數(shù)D.重載函數(shù)18下列關(guān)于靜態(tài)成員函數(shù)的說法中不正確的是(C )A.靜態(tài)成員函數(shù)不屬于對象成員B.對靜態(tài)成員函數(shù)的引用不需要使用對彖名C. 靜態(tài)成員函數(shù)中可以直接引用類的非靜態(tài)成員D. 靜態(tài)成員函數(shù)中町以直接引用類的靜態(tài)成員19下面對友元的錯誤描述是(D )。A. 關(guān)鍵字仕 iend用于聲明友元B. 一個類中的成員函數(shù)可以是另一個類的友元函數(shù)C. 友元函數(shù)訪問對彖的成員不受訪問特性影響D. 友元函數(shù)通過 this 指針訪問對象成員2
8、0卞列有關(guān)一個類的友元函數(shù)的敘述中,正確的(B )A. 允許在類外訪問類中除私有成員以外的所有成員B. 允許在類外訪問類中的任何成員C. 友元也是該類的成員D. 友元的聲明必須被放在該類的公有部分三、判斷題1、靜態(tài)數(shù)據(jù)成員可以通過類名或?qū)ο竺谩?、靜態(tài)數(shù)據(jù)成員可以在類內(nèi)或類外進(jìn)行初始化。楮選范木,供參考!3、在靜態(tài)成員函數(shù)中可以訪問本類中非靜態(tài)的數(shù)據(jù)成員。4、類的靜態(tài)成員函數(shù)的初始化工作要放在類外進(jìn)行。5、若 A 是 B 的友元類,B 是 C的友元類,則 A 是 C的友元類。6、通過運算符重載,可以定義新的運算符。7、 C卄中的所有運算符都能被重載。8、 運算符重載不能改變操作數(shù)的個數(shù)。9
9、、 運算符重載不能改變其優(yōu)先級與結(jié)合性。10、 在運算符重載函數(shù)中不能使用缺省的參數(shù)值。答案:1、J 2、X 3、J 4、X 5、X 6、X 7、X 8、J 9、J 10、四、程序分析題(寫程序運行結(jié)果)1. #include class Aint x,y,z;public:A(iiit vx jnt vydnt vz) x=vx;y=vy;z=vz;A() x=0;y=0;z=0;A operator+(A t)Ate;te.x=x+t.z; te.y=y+t.y; te.z=z+t.z; return te;A opeiatoi-(A t)Ate;te.x=x-t.z; te.y=y-t.
10、y; te.z=z-t.z; return te;A opeiator=(A t)x=t.x;y=t.y;楮選范木,供參考!z=t.z;return *this;void prmt() coutxH ,yH Hendl; ;void main()Atl(10J0J 0),t2(20,2020),t3;t3=tl+t2;t3.pimtQ;t3=t2=tl;tl.pimtQ;t2.pimtQ;t3.pimtQ;答案:30 3010 1010 1010 102. #iiiclude class Apublic:rant c) iow=i:;col=c; elem=new iiitrow*col; i
11、nt& operatorQ(mt xjnt y) return elemcol*x-ry; int opeiator()(int x,mt y)const return elemcol*x+v; A0 delete elem; private:int *elem;int row,col;楮選范木,供參考!;void main()A ni(5,8);int i;for( i=0;i5;i+) m(i,l)=i+5;fdr( i=0;i5;i+) coutniA),9;coutendl:答案:5,6,7,8,9,3. #iiiclude using namespace std;class
12、goodsprivate:static mt totalweight;int weight;public:goods(iiit w) weight=w; totalweight+=weight; goods(goods &gd) weight=gd.weight; totalweight+=weight; goods。totalweight 亠 weight; static mt gettotalQ return totalweight; ;mt goods:totalweight=0;椿選范木,供參考!void main()goods gl(50);coutgoods:gettota
13、l(jendl;goods g2(100);coutg2.gettotal()endl;答案:501504. #iiiclude using namespace std;class Ainti j;static mt c;public:A(iiit a=O.iiit b=0) i=a; j=b; C+; A() c-; static void f() coutHc=Hcendl;iiit A:c=0;void main()Aa(4,8),b,d;Az(3,6),f;A:f();A:f();楮選范木,供參考!答案:c=5c=35. #iiiclude using namespace std;cl
14、ass pointpublic:void poi(iiit px=10,int pv=10) X=px; y=py; friend mt getpx(pomt a); friend mt getpv(pomt b);private:int x,y;mt getpx(pomt a)return a.x;mt getpy(point a)return a.y;void main()point p.q;p.poi();q.poi(15,15); coutgetpx(p); coutgetpy(p)endl; coutgetpx(q); coutgetpy(q)endl;答案:1010 15156.
15、#include class B;class Aint data;A *piev;public:楮選范木,供參考!d.A *n)data=d;piev=n;fiiend class B;class BA *top;public:B()top=0;void push(iiit i)A *n=new A(ijop);top=n;mt popQA *t=top;血 OP)top=top-prev;iiit c=t-data;delete t;return c;return 0;void main()intc10=23,34,56,87,67,876,42,657,55,66;Bs;for(iiit
16、1=0: i10;i-H-)s.push(ci);fbr(i=O; i10; i+)couts.popO,n; coutendl;答案:66,55,657,42,876,67,87,56,34,23,楮選范木,供參考!7. #iiicludeusing namespace std;class TIME;class DATEpublic:DATE(int a=2004,iiit m=9,iiit b=23)yeai-a; month=m; dav=b;void DateTune(TIME &t);private:int yeaianonthjay;;class TIMEpublic:TI
17、NIE(int h=0,mt m=0,int s=0)houi=h; nunute=m; second=s;friend void DATE:DateTune(TEvIE&t);private:int houi;niiiiute,sec ond;void DATE:DateTune(TIME&t)cout,rNowisHyear.,month,/dayt.hourl:,t.nunute,:,t.second,endl;楮選范木,供參考!mt mam()DATE b(2004.9,23);TIME t( 10,20,50);b.DateTiine(t);return 0;答案:N
18、owis2004.9.2310:20:50.四、編程題1.定義一個處理口期的類 TDate,它有 3個私有數(shù)據(jù)成員:Montli,Day,Year 和若干個公有成員函數(shù),并實現(xiàn)如下要求:(1) 成員函數(shù)設(shè)置缺省參數(shù);(2) 定義一個友元函數(shù)來打印口期。參考程序:#include using namespace std;class TDate椿選范木,供參考!public:TDate(iiit m=O,mt d=O,int y=0) :Month(m).Day(d), Yeai(y)TDateQfriend void Show(TDate);private:int Month,Day, Year
19、;void Show(TDate d)coutd.Yeal,年”d.Month” 月 ”d.Day” 口 endl;iiit mam()TDate dl,d2(4,8,2014);Show(dl);Show(d2);return 0;2.設(shè)計一個類 CTmielnfb,要求其滿足卞述要求。(1) 要求有一個無參數(shù)的構(gòu)造函數(shù),其初始的小時和分鐘分別為:0, 0;(2) 要求有一個帶參數(shù)的構(gòu)造函數(shù),其參數(shù)分別對應(yīng)小時和分鐘;(3) 要求用一個成員函數(shù)實現(xiàn)時間的設(shè)置;(4) 要求用一個友元函數(shù)實現(xiàn)以 12小時的方式輸出時間;(5) 要求用一個友元函數(shù)實現(xiàn)以 24小時的方式輸出時間;參考程序:#inc
20、lude using namespace std;class CTiinelnfopublic:CTimeIiifoQ:Hour(0),Minute(0)楮選范木,供參考!CTimeIiifb(int hint m): Hour(h) ,Minute(m)-CTimeIiifo()void Set(iiit hjnt m)Hotu-h; Minute=m;friend void Show_l 2(CTiineIiifb);friend void Show_24(CTmieIiifo);private:mt HourMmute;void Show_l 2(CTimeIiifb d)if(d.Ho
21、ur=12)coutHain,d.Houi,:,d.Minuteendl;elsed.Hour-=12;coutMpm,d.HouiH:Hd.Minuteendl;void Show_24(CTimeIiifo d)coutd.Houi,:,d.Mmuteendl;mtCTimelnfod l、d2(21,8);Show_12(dl);Show_12(d2);Show_24(d2);return 0;3.定義一個 Strident 類,在該類定義中包括:一,個數(shù)據(jù)成員 score(分?jǐn)?shù))及兩個靜態(tài)數(shù)據(jù)成員total(總分)和 count(學(xué)生人數(shù))。成員函數(shù):scoretotalcount(f
22、loat s)用于設(shè)置分?jǐn)?shù)、求總分和 累計學(xué)生人數(shù):靜態(tài)成員函數(shù) sum 用于返回總分;靜態(tài)成員函數(shù) average 用于求平均分。在 main 函數(shù)中,創(chuàng)建三名學(xué)生,并調(diào)用上述函數(shù)求這三名學(xué)生的總分和平均分。參考程序:#include class Studentpublic:void scoretotalcount(float s)score=s;total+=score;count-H-;static float sum() return total; static float averageQ return totaVcount; private:float score;static f
23、loat total;static int count;float Student: :total=0;mt Student:count=0;精選范木,供參考!精選范木,供參考!void main()Student sl、s2,s3;si .scoretotalcouiit(70);s2.scoretotalcouiit(80);s3.scoretotalcouiit(90);coutMtotal:HStudent: sumQendl;coutHaveiage:,Student:averageQendl;4.編寫程序?qū)崿F(xiàn)賓館住宿客人管理。定義客人類 Guest,包含客人編號 Num (按先后順
24、序 自動生成)、姓名 Name、住宿房號 Room、房費 fbe,并定義靜態(tài)成員 Count,用于記錄客人 總數(shù);提供構(gòu)造函數(shù),顯示信息函數(shù) Display,以及返回客人總數(shù)函數(shù) GetCount等。在主函 數(shù)中創(chuàng)建 3個客人對彖進(jìn)行測試。參考程序:include include using namespace std;class Guestpublic:Guest(stiing n.striiig i.double f)Num=+Count;Name=n;Room=r;fee=f;void display()coutNumM MNamen HRoomM Hfeeendl;精選范木,供參考!s
25、tatic mt GetCount()return Count;private:int Num;strmg Name;strmg Room;double fee;static mt Count;mt Guest:Count=0;mt mam()Guest glCzhangOlVOO);Guest g2(HirH20r300);Guest g3(nwangn;f30r500);gl.displayQ;g2 display();g3.display();coutHTotal=MGuest:GetCount()endl;return 0;5.生成一個復(fù)數(shù)類 Complexo 復(fù)數(shù)的實部和虛部分別為
26、double型 x和 y。重載運算符加、減、乘、除為類的成員函數(shù),用來計算兩個復(fù)數(shù)的加、減、乘、除運算。參考程序:#include class complexprivate:double x,y;精選范木,供參考!public:complex(double xx=0,double yv=0)x=xx;y=yy;void display()cout,(x,yHi),endl;complex operator +(complex &cl);complex operator -(complex &cl);complex opeiator *(complex &cl);complex operator /(complex &cl);complex complex:operator +(complex &cl)complex c;C X=X+C1 X;c.y=y+cl.v;retuin c;complex complex:operator (complex &cl)complex c;c.x=x-cl.x;c.y=y-cl.y;return c;complex complex:operator *(complex &cl)精選
溫馨提示
- 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年度密封膠產(chǎn)品環(huán)保標(biāo)準(zhǔn)制定與執(zhí)行合同3篇
- 2025年度智能溫室大棚設(shè)施買賣合同范本4篇
- 2025年度園林除草項目承包合同范本4篇
- 2025年度現(xiàn)代農(nóng)業(yè)示范園區(qū)開發(fā)承包經(jīng)營合同范本3篇
- 2025年度智能穿戴設(shè)備開發(fā)框架授權(quán)許可合同3篇
- 2024面粉市場推廣與品牌代言合同3篇
- 2024版設(shè)備維修及日常保養(yǎng)合同合同一
- 2025年度床墊行業(yè)展會參展與合作協(xié)議3篇
- 2025年度玻璃行業(yè)研發(fā)成果轉(zhuǎn)化銷售合同3篇
- 2025年度新型城鎮(zhèn)化建設(shè)項目承包合同終止協(xié)議3篇
- 2025年湖北武漢工程大學(xué)招聘6人歷年高頻重點提升(共500題)附帶答案詳解
- 【數(shù) 學(xué)】2024-2025學(xué)年北師大版數(shù)學(xué)七年級上冊期末能力提升卷
- GB/T 26846-2024電動自行車用電動機和控制器的引出線及接插件
- 遼寧省沈陽市皇姑區(qū)2024-2025學(xué)年九年級上學(xué)期期末考試語文試題(含答案)
- 2024年國家工作人員學(xué)法用法考試題庫及參考答案
- 妊娠咳嗽的臨床特征
- 國家公務(wù)員考試(面試)試題及解答參考(2024年)
- 《阻燃材料與技術(shù)》課件 第6講 阻燃纖維及織物
- 2024年金融理財-擔(dān)保公司考試近5年真題附答案
- 泰山產(chǎn)業(yè)領(lǐng)軍人才申報書
- 高中語文古代文學(xué)課件:先秦文學(xué)
評論
0/150
提交評論