第6講 類(lèi)與對(duì)象練習(xí)_第1頁(yè)
第6講 類(lèi)與對(duì)象練習(xí)_第2頁(yè)
第6講 類(lèi)與對(duì)象練習(xí)_第3頁(yè)
第6講 類(lèi)與對(duì)象練習(xí)_第4頁(yè)
第6講 類(lèi)與對(duì)象練習(xí)_第5頁(yè)
已閱讀5頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、IBM research 2003 IBM CorporationSRDS Workshop計(jì)算機(jī)學(xué)院 張榮博版權(quán)所有:沈陽(yáng)航空航天大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)及C+類(lèi)的設(shè)計(jì)類(lèi)的設(shè)計(jì) 編寫(xiě)一個(gè)程序,設(shè)計(jì)一個(gè)滿足如下條件的日期類(lèi)編寫(xiě)一個(gè)程序,設(shè)計(jì)一個(gè)滿足如下條件的日期類(lèi) (1 1)用)用 日日/ /月月/ /年格式輸出日期;年格式輸出日期; (2 2)可以運(yùn)行日期加一天操作;)可以運(yùn)行日期加一天操作; (3 3)可以設(shè)置日期。)可以設(shè)置日期。2版權(quán)所有:沈陽(yáng)航空航天大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)及C+類(lèi)的設(shè)計(jì)類(lèi)的設(shè)計(jì) 設(shè)計(jì)一個(gè)時(shí)間類(lèi)設(shè)計(jì)一個(gè)時(shí)間類(lèi)TimeTime,包括,包括3 3個(gè)數(shù)據(jù)成員,時(shí)、個(gè)數(shù)據(jù)成員,時(shí)、分

2、、秒,另外包括存取各個(gè)數(shù)據(jù)成員和設(shè)置時(shí)間的分、秒,另外包括存取各個(gè)數(shù)據(jù)成員和設(shè)置時(shí)間的成員函數(shù),按上午、下午個(gè)成員函數(shù),按上午、下午個(gè)1212小時(shí)或小時(shí)或2424小時(shí)輸出時(shí)小時(shí)輸出時(shí)間的成員函數(shù)。間的成員函數(shù)。3版權(quán)所有:沈陽(yáng)航空航天大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)及C+類(lèi)的設(shè)計(jì)類(lèi)的設(shè)計(jì)設(shè)計(jì)一個(gè)長(zhǎng)方形類(lèi)設(shè)計(jì)一個(gè)長(zhǎng)方形類(lèi)RectRect,要求如下所述:,要求如下所述: (1) (1) 通過(guò)構(gòu)造函數(shù)設(shè)置通過(guò)構(gòu)造函數(shù)設(shè)置RectRect的長(zhǎng)和寬;的長(zhǎng)和寬;(2) (2) 分別編寫(xiě)計(jì)算周長(zhǎng)函數(shù)和計(jì)算面積函數(shù);分別編寫(xiě)計(jì)算周長(zhǎng)函數(shù)和計(jì)算面積函數(shù);(3) (3) 編寫(xiě)輸出函數(shù),主要輸出長(zhǎng)方形的長(zhǎng)、寬、周編寫(xiě)輸出函數(shù),

3、主要輸出長(zhǎng)方形的長(zhǎng)、寬、周長(zhǎng)和面積。長(zhǎng)和面積。4版權(quán)所有:沈陽(yáng)航空航天大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)及C+類(lèi)的設(shè)計(jì)類(lèi)的設(shè)計(jì)5 設(shè)置二維點(diǎn)類(lèi)設(shè)置二維點(diǎn)類(lèi)PointPoint,包括私有成員:橫坐標(biāo),包括私有成員:橫坐標(biāo)x x,縱坐標(biāo),縱坐標(biāo)y y。能夠?qū)崿F(xiàn)以下操作:能夠?qū)崿F(xiàn)以下操作:(1) (1) 無(wú)參構(gòu)造函數(shù),初始化無(wú)參構(gòu)造函數(shù),初始化x=0 x=0,y=0y=0;(2) (2) 有參構(gòu)造函數(shù)有參構(gòu)造函數(shù)PointPoint(intint x, x, intint y y),初始化),初始化x x,y y;(3) (3) 提供公有接口提供公有接口SetXSetX,SetYSetY,為,為x x,y y賦值

4、;賦值;(4) (4) 提供公有接口提供公有接口GetXGetX,GetYGetY,訪問(wèn)私有成員,訪問(wèn)私有成員x x,y y;(5) (5) 打印函數(shù)打印函數(shù)printprint,打印點(diǎn)對(duì)象坐標(biāo)。,打印點(diǎn)對(duì)象坐標(biāo)。版權(quán)所有:沈陽(yáng)航空航天大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)及C+類(lèi)的設(shè)計(jì)類(lèi)的設(shè)計(jì)編寫(xiě)程序,設(shè)計(jì)一個(gè)汽車(chē)類(lèi)編寫(xiě)程序,設(shè)計(jì)一個(gè)汽車(chē)類(lèi)vehiclevehicle,包含的數(shù)據(jù)成,包含的數(shù)據(jù)成員有車(chē)輪個(gè)數(shù)員有車(chē)輪個(gè)數(shù)wheelswheels和車(chē)重和車(chē)重weightweight。小車(chē)類(lèi)。小車(chē)類(lèi)carcar是它是它的私有派生類(lèi)其中包含載人數(shù)的私有派生類(lèi)其中包含載人數(shù)passenger_loadpassenger

5、_load?????ㄜ?chē)類(lèi)車(chē)類(lèi)trucktruck是是vehiclevehicle的私有派生類(lèi)其中包含載人數(shù)的私有派生類(lèi)其中包含載人數(shù)passenger_loadpassenger_load和載重量和載重量payloadpayload,每個(gè)類(lèi)都有相關(guān),每個(gè)類(lèi)都有相關(guān)數(shù)據(jù)的輸出方法。數(shù)據(jù)的輸出方法。6版權(quán)所有:沈陽(yáng)航空航天大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)及C+類(lèi)的應(yīng)用舉例類(lèi)的應(yīng)用舉例7 一圓形游泳池如圖所示,現(xiàn)在需在其周?chē)ㄒ粓A形過(guò)道,并在過(guò)道四周?chē)蠔艡?。柵欄價(jià)格為35元/米,過(guò)道造價(jià)為20元/平方米。過(guò)道寬度為3米,游泳池半徑由鍵盤(pán)輸入。要求編程計(jì)算并輸出過(guò)道和柵欄的造價(jià)。游泳池過(guò)道版權(quán)所有:沈陽(yáng)航空航天大

6、學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)及C+圓類(lèi)的設(shè)計(jì)圓類(lèi)的設(shè)計(jì) 8/聲明類(lèi)聲明類(lèi)Circle 及其數(shù)據(jù)和方法及其數(shù)據(jù)和方法const float PI = 3.14159;class Circle private: float radius; public: void SetRadius ( float r ); float Circumference( ) const; /圓周長(zhǎng)圓周長(zhǎng) float Area( ) const; /圓面積圓面積;版權(quán)所有:沈陽(yáng)航空航天大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)及C+圓類(lèi)的實(shí)現(xiàn)圓類(lèi)的實(shí)現(xiàn) 9/ 類(lèi)的實(shí)現(xiàn)類(lèi)的實(shí)現(xiàn)/ 構(gòu)造函數(shù)初始化數(shù)據(jù)成員構(gòu)造函數(shù)初始化數(shù)據(jù)成員radiusvoid Cir

7、cle:SetRadius(float r) radius=r;/ 計(jì)算圓的周長(zhǎng)計(jì)算圓的周長(zhǎng)float Circle:Circumference( ) const return 2 * PI * radius; / 計(jì)算圓的面積計(jì)算圓的面積 float Circle:Area( ) const return PI * radius * radius;版權(quán)所有:沈陽(yáng)航空航天大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)及C+如何應(yīng)用設(shè)計(jì)的類(lèi)?如何應(yīng)用設(shè)計(jì)的類(lèi)?10/ 計(jì)算柵欄造價(jià)并輸出計(jì)算柵欄造價(jià)并輸出 cost = PoolRim.Circumference( ) * 35; / 計(jì)算過(guò)道造價(jià)并輸出計(jì)算過(guò)道造價(jià)并輸出

8、cost = (PoolRim.Area( ) - Pool.Area( ))*20; Circle Pool, PoolRim;游泳池過(guò)道版權(quán)所有:沈陽(yáng)航空航天大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)及C+11#include const float FencePrice = 35; /柵欄造價(jià)柵欄造價(jià)const float ConPrice = 20; /過(guò)道造價(jià)過(guò)道造價(jià)void main ( ) float radius; /半徑半徑 cout radius; Circle Pool, PoolRim; Pool . SetRadius (radius); PoolRim . SetRadius (radi

9、us + 3); 版權(quán)所有:沈陽(yáng)航空航天大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)及C+12/ 計(jì)算柵欄造價(jià)并輸出計(jì)算柵欄造價(jià)并輸出 float FenceCost, /柵欄費(fèi)用柵欄費(fèi)用 FenceCost = PoolRim.Circumference( ) * FencePrice; cout Fencing Cost is ¥ FenceCost endl; / 計(jì)算過(guò)道造價(jià)并輸出計(jì)算過(guò)道造價(jià)并輸出float ConCost; /過(guò)道費(fèi)用過(guò)道費(fèi)用 ConcreteCost = (PoolRim.Area( ) - Pool.Area( ))*ConPrice; cout Concrete Cost is ¥

10、ConcreteCost 0)mod = src % r;src /= r; s.Push(mod);版權(quán)所有:沈陽(yáng)航空航天大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)及C+202 68 余 數(shù) 2 34 0 低位 2 17 0 2 8 1 2 4 0 2 2 0 2 1 0 0 1 高位所以 681010001002cout “結(jié)果:”;while( !s.IsEmpty()mod = s.Pop();coutmod;cout endl;/從堆棧中把結(jié)果取出,并顯示在屏幕中。版權(quán)所有:沈陽(yáng)航空航天大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)及C+21int main()Stack s(20);int src = 0, r=2,mod=0;cout 請(qǐng)輸入要轉(zhuǎn)換的整數(shù)! src;cout 請(qǐng)輸入轉(zhuǎn)換后的進(jìn)制 r;while(src 0)mod = src % r;src /= r; s.Push(mod); cout 結(jié)果:;while( !s.IsEmpty()mod = s.Pop();coutmod;cout endl;return 0; 版權(quán)所有:沈陽(yáng)航空航天大學(xué)面向?qū)ο蟪绦蛟O(shè)計(jì)及C+類(lèi)的設(shè)計(jì)類(lèi)的設(shè)計(jì)- -隊(duì)列隊(duì)列22定義定義 隊(duì)列是只允許在一端刪除,在另一端插入的順序表隊(duì)列是只允許在一端刪除,在另一端插入的順序

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論