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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

封閉類

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

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

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

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

那么汽車里面用哪些成員呢,肯定有輪胎對吧,還有引擎,窗戶等等,那么輪胎有什么成員呢有外層的橡膠,里面的金屬,對吧.輪胎寫成一個對象后,這個輪胎呢是汽車的一部分,而汽車也是一個對象,所以輪胎就是一個成員對象,而汽車呢因為包含了其他對象,就叫做封閉類.

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

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

輪胎類

#includebits/stdc++.h

usingnamespacestd;

classCTyre{//輪胎類

private:

intredius;//半徑

intwidth;//寬度或長度

intheight;//高度

public:

CTyre(){//構造函數

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

~CTyre(){//析構函數

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

......圓的體積

......圓的表面積

......等等

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

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

引擎類

#includebits/stdc++.h

usingnamespacestd;

classCEngine{//引擎類

private:

booluse;//是否正在使用

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

intparts;//零件的個數

stringproduction;//生產公司的名稱

public:

CEngine(){//構造函數初始化

use=false;

good_bad=true;

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

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

~CEngine(){//析構函數

coutuse""good_bad""parts""productionendl;

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

......這個引擎現在在使用嗎

......等等

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

有了引擎和輪胎,就可以有汽車了,汽車里面有什么成員呢首先,就是這個汽車的價格,然后才是是引擎和輪胎等各種成員類,注意一下,如果是一個成員類的話,構造函數用參數,在寫成員類的時候是不需要加參數的:

汽車類

#includebits/stdc++.h

usingnamespacestd;

classCCar{//汽車類

private:

intprice;//汽車的價格

CTyretyre;//汽車的輪胎

CEngineengine;//汽車的引擎

public:

CCar(intp){//構造函數

price=p;//賦值

~CCar(){//析構函數

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

}//因為輪胎和引擎類消亡后會自動使用祈構函數

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

現在我講一下寫封閉類的注意事項:

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

2.封閉類對象生成時,先執行所有對象成員的構造函數,然后才執行封閉類自己的構造函數.

3.對象成員的構造函數調用次序和對象成員在類中的說明次序一致.

4.和構造函數正好相反,當封閉類對象消亡時,先執行封閉類的析構函數,然后再執行成員對象的析構函數.調用次序也和構造函數的調用次序相反.

總代碼

#includebits/stdc++.h

usingnamespacestd;

classCEngine{//引擎類

private:

booluse;//是否正在使用

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

intparts;//零件的個數

stringproduction;//生產公司的名稱

public:

CEngine(){//構造函數初始化

use=false;

good_bad=true;

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

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

~CEngine(){//析構函數

coutuse""good_bad""parts""productionendl;

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

......這個引擎現在在使用嗎

......等等

classCTyre{//輪胎類

private:

intredius;//半徑

intwidth;//寬度或長度

intheight;//高度

public:

CTyre(){//構造函數

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

~CTyre(){//析構函數

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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論