c+圖形類設(shè)計(jì)_第1頁
c+圖形類設(shè)計(jì)_第2頁
c+圖形類設(shè)計(jì)_第3頁
c+圖形類設(shè)計(jì)_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

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

文檔簡介

1、設(shè)計(jì)三個(gè)圖形類:Circle(圓)、Rectangle(矩形)、Triangle(三角形);1、Cirlce 類基本信息:圓心坐標(biāo)、半徑;Rectangle 類基本信息:長、寬;Triangle 類基本信息:三個(gè)頂點(diǎn)坐標(biāo);其中:成員變量為 private 屬性,成員函數(shù)為public 屬性;2、每個(gè)圖形類有多個(gè)構(gòu)造函數(shù):缺省構(gòu)造函數(shù)、帶參數(shù)的構(gòu)造函數(shù);3、每個(gè)圖形類有計(jì)算圖形的面積GetArea(),顯示圖形的基本信息函數(shù)Show(),修改基本信息的函數(shù)Set(形參)。以Circle 類為例:通過GetArea()計(jì)算圓的面積,Show()函數(shù)中顯示圓心坐標(biāo)、直徑、周長、面積等基本信息;Set

2、(int x,int y, int r)函數(shù)可以修改圓心坐標(biāo)和半徑。實(shí)驗(yàn)提示1、注意多個(gè)構(gòu)造函數(shù)的聲明方式與定義實(shí)現(xiàn);2、當(dāng)輸入數(shù)據(jù)為不合理數(shù)據(jù)時(shí)(例如:輸入的三角形的頂點(diǎn)是否能組成一個(gè)三角形),提示用戶輸入錯(cuò)誤;測試數(shù)據(jù)1、Circle 類測試數(shù)據(jù):圓心:(20,30) 半徑:5(-20,40) 30(40,-10) -52、Rectangle 類測試數(shù)據(jù):頂點(diǎn)坐標(biāo):20,5040,5-9,1043,-83、Triangle 類測試數(shù)據(jù):頂點(diǎn):(20,30)、(40,50)、(40,20)(10,10)、(50,10)、(35,10)#includeusing namespace std;#

3、includeclass Shape/抽象類,公共基類public: virtual double Area()const=0;/計(jì)算各對象面積 virtual double Perim()const=0;/計(jì)算各對象周長 virtual void Show()=0;/輸出各對象面積和周長;class Rectangle:public Shape/矩形類private: double Length;/長 double Width;/寬public: Rectangle(double Length=0,double Width=0)/構(gòu)造函數(shù) this-Length=Length; this-W

4、idth=Width; Rectangle()/析構(gòu)函數(shù) double Area() const/矩形面積 return Length*Width; double Perim() const/矩形周長 return 2*(Length+Width); void Show()/輸出矩形面積和周長 coutArea is:Area()endl; coutPerim is:Perim()endlRadius=Radius; Circle()/析構(gòu)函數(shù) double Area() const/圓面積 return PI*Radius*Radius; double Perim() const/圓周長 r

5、eturn 2*PI*Radius; void Show()/輸出圓的面積和周長 coutArea is:Area()endl; coutPerim is:Perim()endlA=A; this-B=B; this-C=C; Triangle()/析構(gòu)函數(shù) double Area() const/三角形面積 double P; P=(A+B+C)/2; return sqrt(P*(P-A)*(P-B)*(P-C); double Perim() const/三角形周長 return (A+B+C); void Show()/輸出三角形面積和周長 coutArea is:Area()endl

6、; coutPerim is:Perim()endlendl; ;void main()double Length,Width,Radius,A,B,C; coutRectangle:endl;loopa:cout請輸入矩形的長和寬(Length,Width):LengthWidth; if(Length=0|Width=0)cout輸入的長寬不能構(gòu)成一個(gè)矩形!請重新輸入!endl;goto loopa;elseRectangle Rect(Length,Width);/建立矩形對象Rect.Show();/調(diào)用矩形類的輸出函數(shù)coutCircle:endl;loopb:cout請輸入圓形的半徑(Radius):Radius; if(Radius=0)cout輸入的半徑不能構(gòu)成一個(gè)圓!請重新輸入!endl;goto loopb;elseCircle Cir(Radius);/建立圓對象Cir.Show();/調(diào)用圓類的輸出函數(shù)coutTriangle:endl;loopc:cout請輸入三角形的三邊(A,B,C):ABC; if(A=0|B=0|C=0|(A+B)=C|(A+C)=B|(B+C)=A)/判斷是否能

溫馨提示

  • 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

提交評論