C類(lèi)的設(shè)計(jì)構(gòu)造函數(shù)和析構(gòu)函數(shù).doc

C類(lèi)的設(shè)計(jì)構(gòu)造函數(shù)和析構(gòu)函數(shù).doc

ID:62033261

大小:16.50 KB

頁(yè)數(shù):4頁(yè)

時(shí)間:2021-04-15

C類(lèi)的設(shè)計(jì)構(gòu)造函數(shù)和析構(gòu)函數(shù).doc_第1頁(yè)
C類(lèi)的設(shè)計(jì)構(gòu)造函數(shù)和析構(gòu)函數(shù).doc_第2頁(yè)
C類(lèi)的設(shè)計(jì)構(gòu)造函數(shù)和析構(gòu)函數(shù).doc_第3頁(yè)
C類(lèi)的設(shè)計(jì)構(gòu)造函數(shù)和析構(gòu)函數(shù).doc_第4頁(yè)
資源描述:

《C類(lèi)的設(shè)計(jì)構(gòu)造函數(shù)和析構(gòu)函數(shù).doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)

1、類(lèi)是編程人員表達(dá)自定義數(shù)據(jù)類(lèi)型的C++機(jī)制。它和C語(yǔ)言中的結(jié)構(gòu)類(lèi)似,C++類(lèi)支持?jǐn)?shù)據(jù)抽象和面向?qū)ο蟮某绦蛟O(shè)計(jì),從某種意義上說(shuō),也就是數(shù)據(jù)類(lèi)型的設(shè)計(jì)和實(shí)現(xiàn)。?一、類(lèi)的設(shè)計(jì)?1.類(lèi)的聲明class類(lèi)名{privat(yī)e:?。?私有。。.public: //公有..。?};??2.類(lèi)的成員?一般在C++類(lèi)中,所有定義的變量和函數(shù)都是類(lèi)的成員。如果是變量,我們就叫它數(shù)據(jù)成員如果是函數(shù),我們就叫它成員函數(shù)。?3。類(lèi)成員的可見(jiàn)性private和public訪問(wèn)控制符決定了成員的可見(jiàn)性。由一個(gè)訪問(wèn)控制符設(shè)定的可訪問(wèn)狀態(tài)將一直持續(xù)到下一個(gè)訪問(wèn)控制符出現(xiàn),或者類(lèi)

2、聲明的結(jié)束.私有成員僅能被同一個(gè)類(lèi)中的成員函數(shù)訪問(wèn),公有成員既可以被同一類(lèi)中的成員函數(shù)訪問(wèn),也可以被其他已經(jīng)實(shí)例化的類(lèi)中函數(shù)訪問(wèn)。當(dāng)然,這也有例外的情況,這是以后要討論的友元函數(shù)。類(lèi)中默認(rèn)的數(shù)據(jù)類(lèi)型是private,結(jié)構(gòu)中的默認(rèn)類(lèi)型是public.一般情況下,變量都作為私有成員出現(xiàn),函數(shù)都作為公有成員出現(xiàn)。類(lèi)中還有一種訪問(wèn)控制符protected,叫保護(hù)成員,以后再說(shuō)明。4.初始化在聲明一個(gè)類(lèi)的對(duì)象時(shí),可以用圓括號(hào)()包含一個(gè)初始化表。??看下面一個(gè)例子:#includeiostream.hclassBox{?private:?intheig

3、ht,width,depth;//3個(gè)私有數(shù)據(jù)成員?public:?Box(int,int,int);?~Box();int volume();//成員函數(shù)};?Box::Box(intht,intwd,int dp){height=ht;?width=wd;depth=dp;?}Box::~Box(){?//nothing?}intBox::volume(){?returnheight*width*depth;}?intmain(){?Boxthisbox(3,4,5);//聲明一個(gè)類(lèi)對(duì)象并初始化?cout<<THISBOX.VOLUME(

4、)<<ENDL;?return0;}?當(dāng)一個(gè)類(lèi)中沒(méi)有private成員和protected成員時(shí),也沒(méi)有虛函數(shù),并且不是從其他類(lèi)中派生出來(lái)的,可以用{}來(lái)初始化.(以后再講解)5。內(nèi)聯(lián)函數(shù)?內(nèi)聯(lián)函數(shù)和普通函數(shù)的區(qū)別是:內(nèi)聯(lián)函數(shù)是在編譯過(guò)程中展開(kāi)的。通常內(nèi)聯(lián)函數(shù)必須簡(jiǎn)短.定義類(lèi)的內(nèi)聯(lián)函數(shù)有兩種方法:一種和C語(yǔ)言一樣,在定義函數(shù)時(shí)使用關(guān)鍵字inline。如:inlineintBox::volume(){returnheight*width*depth;?}?還有一種方法就是直接在類(lèi)聲明的內(nèi)部定義函數(shù)體,而不是僅僅給出一個(gè)函數(shù)原型。我們把上面的函數(shù)

5、簡(jiǎn)化一下:#includeiostream.h??classBox?{?privat(yī)e:intheight,width,depth;?public:Box(intht,intwd,intdp){height=ht;?width=wd;depth=dp;}?~Box();int volume(){?returnheight*width*depth;}?};??intmain(){?Box thisbox(3,4,5); //聲明一個(gè)類(lèi)對(duì)象并初始化cout〈

6、內(nèi)聯(lián)函數(shù)了。?二、構(gòu)造函數(shù)什么是構(gòu)造函數(shù)?通俗的講,在類(lèi)中,函數(shù)名和類(lèi)名相同的函數(shù)稱(chēng)為構(gòu)造函數(shù).上面的Box()函數(shù)就是構(gòu)造函數(shù)。C++允許同名函數(shù),也就允許在一個(gè)類(lèi)中有多個(gè)構(gòu)造函數(shù)。如果一個(gè)都沒(méi)有,編譯器將為該類(lèi)產(chǎn)生一個(gè)默認(rèn)的構(gòu)造函數(shù),這個(gè)構(gòu)造函數(shù)可能會(huì)完成一些工作,也可能什么都不做。?絕對(duì)不能指定構(gòu)造函數(shù)的類(lèi)型,即使是void型都不可以。實(shí)際上構(gòu)造函數(shù)默認(rèn)為void型。?當(dāng)一個(gè)類(lèi)的對(duì)象進(jìn)入作用域時(shí),系統(tǒng)會(huì)為其數(shù)據(jù)成員分配足夠的內(nèi)存,但是系統(tǒng)不一定將其初始化。和內(nèi)部數(shù)據(jù)類(lèi)型對(duì)象一樣,外部對(duì)象的數(shù)據(jù)成員總是初始化為0。局部對(duì)象不會(huì)被初始化.構(gòu)

7、造函數(shù)就是被用來(lái)進(jìn)行初始化工作的。當(dāng)自動(dòng)類(lèi)型的類(lèi)對(duì)象離開(kāi)其作用域時(shí),所站用的內(nèi)存將釋放回系統(tǒng)。?看上面的例子,構(gòu)造函數(shù)Box()函數(shù)接受三個(gè)整型擦黑素,并把他們賦值給立方體對(duì)象的數(shù)據(jù)成員。如果構(gòu)造函數(shù)沒(méi)有參數(shù),那么聲明對(duì)象時(shí)也不需要括號(hào)。1.使用默認(rèn)參數(shù)的構(gòu)造函數(shù)?當(dāng)在聲明類(lèi)對(duì)象時(shí),如果沒(méi)有指定參數(shù),則使用默認(rèn)參數(shù)來(lái)初始化對(duì)象。#includeiostream.h??class Box{private:?intheight,width,depth;?public:Box(int ht=2,intwd=3,intdp=4)?{?height=h

8、t;width=wd;?depth=dp;?}~Box();intvolume(){returnheight*width*depth;?}};?int main()

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁(yè),下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動(dòng)畫(huà)的文件,查看預(yù)覽時(shí)可能會(huì)顯示錯(cuò)亂或異常,文件下載后無(wú)此問(wèn)題,請(qǐng)放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫(kù)負(fù)責(zé)整理代發(fā)布。如果您對(duì)本文檔版權(quán)有爭(zhēng)議請(qǐng)及時(shí)聯(lián)系客服。
3. 下載前請(qǐng)仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時(shí)可能由于網(wǎng)絡(luò)波動(dòng)等原因無(wú)法下載或下載錯(cuò)誤,付費(fèi)完成后未能成功下載的用戶請(qǐng)聯(lián)系客服處理。