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

下載本文檔

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

文檔簡介

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

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

3、主要輸出長方形的長、寬、周長和面積。長和面積。4版權(quán)所有:沈陽航空航天大學(xué)面向?qū)ο蟪绦蛟O(shè)計及C+類的設(shè)計類的設(shè)計5 設(shè)置二維點類設(shè)置二維點類PointPoint,包括私有成員:橫坐標,包括私有成員:橫坐標x x,縱坐標,縱坐標y y。能夠?qū)崿F(xiàn)以下操作:能夠?qū)崿F(xiàn)以下操作:(1) (1) 無參構(gòu)造函數(shù),初始化無參構(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,訪問私有成員,訪問私有成員x x,y y;(5) (5) 打印函數(shù)打印函數(shù)printprint,打印點對象坐標。,打印點對象坐標。版權(quán)所有:沈陽航空航天大學(xué)面向?qū)ο蟪绦蛟O(shè)計及C+類的設(shè)計類的設(shè)計編寫程序,設(shè)計一個汽車類編寫程序,設(shè)計一個汽車類vehiclevehicle,包含的數(shù)據(jù)成,包含的數(shù)據(jù)成員有車輪個數(shù)員有車輪個數(shù)wheelswheels和車重和車重weightweight。小車類。小車類carcar是它是它的私有派生類其中包含載人數(shù)的私有派生類其中包含載人數(shù)passenger_loadpassenger

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

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

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

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

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

10、ConcreteCost 0)mod = src % r;src /= r; s.Push(mod);版權(quán)所有:沈陽航空航天大學(xué)面向?qū)ο蟪绦蛟O(shè)計及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)所有:沈陽航空航天大學(xué)面向?qū)ο蟪绦蛟O(shè)計及C+21int main()Stack s(20);int src = 0, r=2,mod=0;cout 請輸入要轉(zhuǎn)換的整數(shù)! src;cout 請輸入轉(zhuǎ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)所有:沈陽航空航天大學(xué)面向?qū)ο蟪绦蛟O(shè)計及C+類的設(shè)計類的設(shè)計- -隊列隊列22定義定義 隊列是只允許在一端刪除,在另一端插入的順序表隊列是只允許在一端刪除,在另一端插入的順序

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論