深入了解C++封閉類的定義與使用_第1頁
深入了解C++封閉類的定義與使用_第2頁
深入了解C++封閉類的定義與使用_第3頁
深入了解C++封閉類的定義與使用_第4頁
深入了解C++封閉類的定義與使用_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第深入了解C++封閉類的定義與使用目錄封閉類輪胎類引擎類汽車類總代碼

封閉類

今天,我學(xué)習(xí)的是C++對象的一種操作.就是成員對象和封閉類.

那么封閉類是什么呢和普通類用什么不同嗎

封閉類就是有成員對象的類,那么成員對象是什么呢我們一起來看一下吧

封閉類分為了輪胎類,引擎類,汽車類......我們可以將封閉類可以看作一個完整的汽車.

那么汽車?yán)锩嬗媚男┏蓡T呢,肯定有輪胎對吧,還有引擎,窗戶等等,那么輪胎有什么成員呢有外層的橡膠,里面的金屬,對吧.輪胎寫成一個對象后,這個輪胎呢是汽車的一部分,而汽車也是一個對象,所以輪胎就是一個成員對象,而汽車呢因為包含了其他對象,就叫做封閉類.

接下來,就可以開始寫程序了.

我們先寫輪胎,輪胎的材質(zhì)橡膠也可以寫成一個對象,包含著橡膠的大小,尺存什么的.而我要給大家做一個最簡單的例子,就不用寫橡膠,金屬什么的了!這個輪胎是一個圓對吧,圓肯定有半徑吧,寬度/長度吧,還有高啊,都可以寫進去:

輪胎類

#includebits/stdc++.h

usingnamespacestd;

classCTyre{//輪胎類

private:

intredius;//半徑

intwidth;//寬度或長度

intheight;//高度

public:

CTyre(){//構(gòu)造函數(shù)

redius=0,width=0,height=0;//賦值

~CTyre(){//析構(gòu)函數(shù)

printf("%d%d%d\n",redius,width,height);//類銷毀時輸出這3個成員的值

......圓的體積

......圓的表面積

......等等

這個就是我寫的其中一個類,輪胎類,里面標(biāo)注著輪胎的半徑,長,高,還有構(gòu)造函數(shù)和祈構(gòu)函數(shù),中間省略的部分可以寫這種東西,這個輪胎的作用等等.

寫完了輪胎,還有什么呢自然就是引擎了,引擎類里面需要有什么成員呢首先我們要知道這個引擎是否是好的,還要知道這個引擎是不是開啟的,還可以知道這個引擎里面的引擎?zhèn)€數(shù),最后還可以看一下這個引擎的生產(chǎn)公司.

引擎類

#includebits/stdc++.h

usingnamespacestd;

classCEngine{//引擎類

private:

booluse;//是否正在使用

boolgood_bad;//這個引擎是好的還是壞的

intparts;//零件的個數(shù)

stringproduction;//生產(chǎn)公司的名稱

public:

CEngine(){//構(gòu)造函數(shù)初始化

use=false;

good_bad=true;

parts=10000;//一般汽車引擎就是這么多零件

production="豐田汽車";//目前世界上最大汽車公司

~CEngine(){//析構(gòu)函數(shù)

coutuse""good_bad""parts""productionendl;

......這個引擎是否是好的

......這個引擎現(xiàn)在在使用嗎

......等等

除了引擎和輪胎,汽車肯定還要很多其他的重要部分,由于過于復(fù)雜,今天我們就只寫這兩個成員類.

有了引擎和輪胎,就可以有汽車了,汽車?yán)锩嬗惺裁闯蓡T呢首先,就是這個汽車的價格,然后才是是引擎和輪胎等各種成員類,注意一下,如果是一個成員類的話,構(gòu)造函數(shù)用參數(shù),在寫成員類的時候是不需要加參數(shù)的:

汽車類

#includebits/stdc++.h

usingnamespacestd;

classCCar{//汽車類

private:

intprice;//汽車的價格

CTyretyre;//汽車的輪胎

CEngineengine;//汽車的引擎

public:

CCar(intp){//構(gòu)造函數(shù)

price=p;//賦值

~CCar(){//析構(gòu)函數(shù)

printf("%d\n",price);//只用輸出這個價格

}//因為輪胎和引擎類消亡后會自動使用祈構(gòu)函數(shù)

這個CCar就是我們的封閉類了,里面有著引擎和輪胎兩個成員對象.

現(xiàn)在我講一下寫封閉類的注意事項:

1.任何生成封閉類的語句,都要讓編譯器明白,對象中的成員對象,是如何進行初始化的.

2.封閉類對象生成時,先執(zhí)行所有對象成員的構(gòu)造函數(shù),然后才執(zhí)行封閉類自己的構(gòu)造函數(shù).

3.對象成員的構(gòu)造函數(shù)調(diào)用次序和對象成員在類中的說明次序一致.

4.和構(gòu)造函數(shù)正好相反,當(dāng)封閉類對象消亡時,先執(zhí)行封閉類的析構(gòu)函數(shù),然后再執(zhí)行成員對象的析構(gòu)函數(shù).調(diào)用次序也和構(gòu)造函數(shù)的調(diào)用次序相反.

總代碼

#includebits/stdc++.h

usingnamespacestd;

classCEngine{//引擎類

private:

booluse;//是否正在使用

boolgood_bad;//這個引擎是好的還是壞的

intparts;//零件的個數(shù)

stringproduction;//生產(chǎn)公司的名稱

public:

CEngine(){//構(gòu)造函數(shù)初始化

use=false;

good_bad=true;

parts=10000;//一般汽車引擎就是這么多零件

production="豐田汽車";//目前世界上最大汽車公司

~CEngine(){//析構(gòu)函數(shù)

coutuse""good_bad""parts""productionendl;

......這個引擎是否是好的

......這個引擎現(xiàn)在在使用嗎

......等等

classCTyre{//輪胎類

private:

intredius;//半徑

intwidth;//寬度或長度

intheight;//高度

public:

CTyre(){//構(gòu)造函數(shù)

redius=0,width=0,height=0;//賦值

~CTyre(){//析構(gòu)函數(shù)

printf("%d%d%d\n",redius,width,height);//類銷毀時輸出這3個成員的值

......圓的體積

......圓的表面積

......等等

classCCar{//汽車類

private:

intprice;//汽車的價格

CTyretyre;//汽車的輪胎

CEngineengine;//汽車的引擎

public:

CCar(in

溫馨提示

  • 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)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論