皮德常《面向?qū)ο蟮某绦蛟O(shè)計(jì)》課程ppt

皮德?!睹嫦?qū)ο蟮某绦蛟O(shè)計(jì)》課程ppt

ID:38512398

大?。?06.00 KB

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

時(shí)間:2019-06-14

皮德?!睹嫦?qū)ο蟮某绦蛟O(shè)計(jì)》課程ppt_第1頁(yè)
皮德?!睹嫦?qū)ο蟮某绦蛟O(shè)計(jì)》課程ppt_第2頁(yè)
皮德?!睹嫦?qū)ο蟮某绦蛟O(shè)計(jì)》課程ppt_第3頁(yè)
皮德?!睹嫦?qū)ο蟮某绦蛟O(shè)計(jì)》課程ppt_第4頁(yè)
皮德?!睹嫦?qū)ο蟮某绦蛟O(shè)計(jì)》課程ppt_第5頁(yè)
資源描述:

《皮德?!睹嫦?qū)ο蟮某绦蛟O(shè)計(jì)》課程ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。

1、第9章類(lèi)的高級(jí)部分皮德常南京航空航天大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院1主要內(nèi)容9.1靜態(tài)成員9.2友元9.3對(duì)象賦值問(wèn)題9.4拷貝構(gòu)造函數(shù)9.5運(yùn)算符重載9.6對(duì)象組合29.1靜態(tài)成員例:一個(gè)學(xué)生類(lèi),定義其對(duì)象張三、李四,他們分別維護(hù)著類(lèi)成員的一份副本(學(xué)號(hào)、姓名、籍貫等)。如果要統(tǒng)計(jì)一個(gè)班學(xué)生總數(shù)?用類(lèi)外的變量記錄,違背了數(shù)據(jù)封裝。用類(lèi)的一個(gè)數(shù)據(jù)成員記錄,導(dǎo)致多個(gè)副本,不僅冗余,而且勢(shì)必造成數(shù)據(jù)不一致。39.1.1靜態(tài)數(shù)據(jù)成員1.用關(guān)鍵字static聲明;2.同一個(gè)類(lèi)中的所有對(duì)象都共享該變量;3.必須在類(lèi)外定義和初始化,用(::)來(lái)指明所屬

2、的類(lèi)。4.靜態(tài)變量不依賴(lài)于對(duì)象而存在,無(wú)論是否定義該類(lèi)的對(duì)象,這種類(lèi)型的變量都存在。靜態(tài)數(shù)據(jù)成員實(shí)際上是在類(lèi)外定義的一個(gè)變量,它的生存期和整個(gè)程序的生存期一樣,在定義對(duì)象之前,靜態(tài)數(shù)據(jù)成員就已經(jīng)存在。4classStaticDemo{staticintx;inty;public:voidputx(inta){x=a;}voidputy(intb){y=b;}intgetx(){returnx;}intgety(){returny;}};intStaticDemo::x;//靜態(tài)變量x將被StaticDemo類(lèi)的所有對(duì)象共享,例如:St

3、aticDemoobj1,obj2;obj1.putx(5);obj1.puty(l0);obj2.puty(20);cout<<"x:"<

4、來(lái)調(diào)用靜態(tài)成員函數(shù)。靜態(tài)成員函數(shù)只能引用屬于該類(lèi)的靜態(tài)數(shù)據(jù)成員或靜態(tài)成員函數(shù)。見(jiàn)例【例9-2】。6//budget2.h文件的內(nèi)容。classBudget{staticfloatcorpBudget;floatdivBudget;public:Budget(){divBudget=0;}voidaddBudget(floatb){divBudget+=b;corpBudget+=divBudget;}staticvoidmainOffice(float);floatgetDivBudget(){returndivBudget;}flo

5、atgetCorpBudget(){returncorpBudget;}};7//Contentsofbudget2.cpp#include"budget2.h"floatBudget::corpBudget=0;//Definitionofstaticmemberfunction.voidBudget::mainOffice(floatmoffice){corpBudget+=moffice;}8//主程序pr9-2.cpp的內(nèi)容#include"budget2.h“voidmain(){floatamount;inti;float

6、bud;cout<<"Entermainoffice'sbudgetrequest:";cin>>amount;Budget::mainOffice(amount);Budgetdivisions[4];9for(i=0;i<4;i++){cout<<"EnterthebudgetforDivision";cout<<(i+1)<<"";cin>>bud;divisions[i].addBudget(bud);}cout<<"Herearethedivisionbudget:";for(i=0;i<4;i++){cout<<"

7、tDivision"<<(i+1)<<"t$";cout<

8、數(shù)可以是一個(gè)外部函數(shù),也可以是另外一個(gè)類(lèi)的函數(shù)成員。3.將某個(gè)函數(shù)聲明為一個(gè)類(lèi)的友元方式,前面加friend。12【例9-3】求兩個(gè)點(diǎn)之間的距離。classPoint{intxPos,yPos;public:Point(

當(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. 本文檔由用戶(hù)上傳,版權(quán)歸屬用戶(hù),天天文庫(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)完成后未能成功下載的用戶(hù)請(qǐng)聯(lián)系客服處理。