錕節(jié)撅拷錕斤拷群錕斤拷錕斤拷錕餃猴拷錕斤拷錕斤拷蕕錕斤拷錕街ppt課件.ppt

錕節(jié)撅拷錕斤拷群錕斤拷錕斤拷錕餃猴拷錕斤拷錕斤拷蕕錕斤拷錕街ppt課件.ppt

ID:59484934

大?。?.12 MB

頁數(shù):88頁

時間:2020-09-13

錕節(jié)撅拷錕斤拷群錕斤拷錕斤拷錕餃猴拷錕斤拷錕斤拷蕕錕斤拷錕街ppt課件.ppt_第1頁
錕節(jié)撅拷錕斤拷群錕斤拷錕斤拷錕餃猴拷錕斤拷錕斤拷蕕錕斤拷錕街ppt課件.ppt_第2頁
錕節(jié)撅拷錕斤拷群錕斤拷錕斤拷錕餃猴拷錕斤拷錕斤拷蕕錕斤拷錕街ppt課件.ppt_第3頁
錕節(jié)撅拷錕斤拷群錕斤拷錕斤拷錕餃猴拷錕斤拷錕斤拷蕕錕斤拷錕街ppt課件.ppt_第4頁
錕節(jié)撅拷錕斤拷群錕斤拷錕斤拷錕餃猴拷錕斤拷錕斤拷蕕錕斤拷錕街ppt課件.ppt_第5頁
資源描述:

《錕節(jié)撅拷錕斤拷群錕斤拷錕斤拷錕餃猴拷錕斤拷錕斤拷蕕錕斤拷錕街ppt課件.ppt》由會員上傳分享,免費在線閱讀,更多相關內(nèi)容在教育資源-天天文庫。

1、第九章群體類和群體數(shù)據(jù)的組織C++語言程序設計引言在C++中,有基本數(shù)據(jù)類型和自定義數(shù)據(jù)類型基本類型是C++編譯系統(tǒng)預定義的自定義類型是由多個基本類型或自定義類型的元素組成的,稱為群體數(shù)據(jù)對于群體數(shù)據(jù),僅有系統(tǒng)預定義的操作是不夠的,在很多情況下,需要設計與某些具體問題相關的特殊操作,并按面向?qū)ο蟮姆椒▽?shù)據(jù)與操作封裝起來,這就是群體類引言群體分類兩類:線性群體:線性群體中的元素按位置排列有序,數(shù)組是典型例子非線性群體:非線性群體不用位置順序來標識元素,如企業(yè)中職員的上下級關系,家族譜信息關于群體數(shù)據(jù)的組織是屬于數(shù)據(jù)結(jié)構(gòu)的范疇。在此只介紹兩類常用算法:排序和查找方法排序:稱為分類

2、或整理,是將一個無序序調(diào)整為有序的過程。在排序過程中需要完成兩種基本操作:1、比較兩個數(shù)的大?。?、調(diào)整元素在序列中的位置。查找:是在一個序列中按照某種方式找出需要的特定數(shù)據(jù)元素的過程。查字典就是一個典型例子本章主要內(nèi)容模板群體類群體數(shù)據(jù)的組織第一部分—模板C++最重要的特性之一就是代碼重用,為實現(xiàn)代碼重用,代碼必須具有通用性。通用代碼需要不受數(shù)據(jù)類型的影響,并且可以自動適應數(shù)據(jù)類型的變化。這種程序設計類型稱為參數(shù)化程序設計。模板是C++支持參數(shù)化程序設計的工具,通過它可以實現(xiàn)參數(shù)的多態(tài)性參數(shù)的多態(tài)性:是指將程序所處理的對象的類型參數(shù)化,使得一段程序可以用于處理多種不同類型的對

3、象函數(shù)模板類模板函數(shù)模板函數(shù)重載通常是對于不同的數(shù)據(jù)類型完成類似的操作。很多情況下,一個算法是可以處理多種數(shù)據(jù)類型的。但是用函數(shù)實現(xiàn)算法時,即使設計為重載函數(shù)也只是使用相同的函數(shù)名,函數(shù)體仍然要分別定義intabs(intx){returnx<0?-x:x;}doubleabs(doublex){returnx<0?-x:x;}上述函數(shù)只是參數(shù)類型不同,功能完全一樣。類似的情況,如能寫一段通用的代碼,則可進一步提高代碼復用質(zhì)量,提高軟件開發(fā)效率,這也是使用函數(shù)模板的原因。函數(shù)模板函數(shù)模板可以用來創(chuàng)建一個通用功能的函數(shù),以支持多種不同形參,進一步簡化重載函數(shù)的函數(shù)體設計。聲明方法

4、:template//表示類型參數(shù)表類型名函數(shù)名(參數(shù)表){函數(shù)體的定義}//函數(shù)模板中函數(shù)體的定義與定義其它函數(shù)類似函數(shù)模板求絕對值函數(shù)的模板#includeusingnamespacestd;templateTabs(Tx){returnx<0?-x:x;}intmain(){intn=-5;doubled=-5.5;cout<

5、,對于調(diào)用表達式abs(n),由于實參n為int型,所以推導出模板中類型參數(shù)T為int。當類型參數(shù)的含義確定后,編譯器將以函數(shù)模板為樣板,生成一個函數(shù):intabs(intx) {returnx<0?-x:x;}函數(shù)模板函數(shù)模板的實例#includeusingnamespacestd;templatevoidoutputArray(constT*P_array,constintcount){for(inti=0;i

6、ount=8,bCout=8,cCount=20;intaArray[aCount]={1,2,3,4,5,6,7,8};doublebArray[bCount]={1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8};charcArray[cCount]="welcometoseeyou";cout<<"aArraycontains:"<

7、endl;outputArray(cArray,cCount);}函數(shù)模板的實例講解函數(shù)模板中聲明了類型參數(shù)T,表示一種抽象的類型。當編譯器檢測到程序中調(diào)用函數(shù)模板outputArray時,便用outputArray的第一個實參的類型替換掉整個模板定義中的T,并建立用來輸出指定類型數(shù)組的一個完整的函數(shù),再編譯此新建的函數(shù)模板函數(shù)與重載是密切相關的。從函數(shù)模板產(chǎn)生的相關函數(shù)都是同名的,編譯器用重載的解決方法調(diào)用相應的函數(shù)類模板的作用使用類模板使用戶可以為類聲明一種模式,使得類中的某些數(shù)據(jù)成員、

當前文檔最多預覽五頁,下載文檔查看全文

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

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