




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
C+語言程序設計第九章群體類和群體數據的組織引在C++中,有基本數據類型和自定義數據類型基本類型是C++編譯系統預定義的自定義類型是由多個基本類型或自定義類型的元素組成的,稱為群體數據對于群體數據,僅有系統預定義的操作是不夠的,在很多情況下,需要設計與某些具體問題相關的特殊操作,并按面向對象的方法將數據與操作封裝起來,這就是群體類引群體分類兩類線性群體:線性群體中的元素按位置排列有序,數組是典型例非線性群體:韭線性群體不用位置順序來標識元素,如企業中職員的上下級關系,家族譜信息甭群續款揹餐提法數據結構的范疇,在此只介紹兩類°#庸乎殮薷婆凳兩本石序序調整為有序的過程。1、比較兩個數的大小2、調整元素在序列中的位置找:是在過程。查字典就中萃蹊榭李式找出需要的特定數據元素本章主要內容模板群體類群體數據的組織第一部分—模板c++最重要的特性之一就是代碼重用,為實現代碼重用,代碼必須具有通用性。通用代碼需要不受數據類型的影響,并且可以自動適應數據類型的變化。這種程序設計類型稱為參數化程序設計模板是C++支持參數化程序設計的工具,通過它可以實現參數的多態性參數的多態性:是指將程序所處理的對象的類型參數化,使得一段程序可以用于處理多種不同類型的對象函數模板類模板函數模板函數重載通常是對于不同的數據類型完成類似的操作。很多情況下,一個算法是可以處理多種數據類型的。但是用函數實現算法時,即使設計為重載函數也只是使用相同的函數名,函數體仍然要分別定義intabs(intxIreturnX<0?-X:X;doubleabs(doublex)[returnX<0?-X:X;)上述函數只是參數類型不同,功能完全一樣。類似的情況,如能寫一段通用的代碼,則可進一步提高代碼復用質量,提高軟件開發效率,這也是使用函數模板的原因函數模板函數模板可以用來創建一個通用功能的函數,數以支持多種不同形參,進一步簡化重載函數的函數體設計。模◎聲明方法:template<typename標識符>/表示類型參數表板類型名函數名(參數表)函數體的定義}函數模板中函數體的定義與定義其它函數類似求絕對值函數的模板#主nc1ude<iostream>usingnamespacestd;template<typenameT>數模板fabs(fx)e七unx<0?-X:xintmain()in七n=-5doubled-5.5cout<<abs(n)<<endl運行結果cout<<abs(d)<<endli5.5求絕對值函數的模板分析編譯器從調用abs0時實參的類型,推導出函數模板的類型參數。例如,數對于調用表達式abs(n),由于實參n模為n型,所以推導出模板中類型參數T為int。板◎當類型參數的含義確定后,編譯器將以函數模板為樣板,生成一個函數:intabs(intx)Ireturnx<0?-X:X;1函數模板的實例desiostream>namespacestdotemplate<classT>ovoidoutputArrayconstTP_array,constintcount●●for(inti=0;i<count;i++fcout<<P_array(<<cout<<endl;constintaCount=8,bCout=8cCount=20:intaArraylaCount=1,2,3,4,5,6,7doublebArray[cOunt={1,1,2,2,334,4,5566,7,7,8,8};charcArraylcCount]="welcometoseeyoucout<<"aarraycontains:<<endlutputArray(aArray,aCount)cout<<barraycontains:<<end
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024北京八十中高二3月月考語文試題及答案
- 2025年公共交通管理與運營考試試卷與答案
- 簡單使用培訓
- 2025年中醫藥學專業課程知識測試題及答案
- 教育培訓機構
- 2025年劇情創作專業考試試題及答案提供
- Unit 6 Earth First Presenting ideas writing (教學課件)外研版高中英語必修二
- 2025年法考應試指南試題及答案
- 2025年大數據技術與應用考試卷及答案
- 2025年電影編劇專業研究生入學考試試題及答案
- 公共組織績效評估-形考任務三(占10%)-國開(ZJ)-參考資料
- JT∕T 795-2023 事故汽車修復技術規范
- 趣識古文字智慧樹知到期末考試答案章節答案2024年吉林師范大學
- GB/T 29822-2013鎢錸熱電偶絲及分度表
- GB/T 22562-2008電梯T型導軌
- 中國高等教育學會外國留學生教育管理分會中國高等教育學會外國留學生教育管理分會科研課題申請書
- 2022年武漢市洪山區法院書記員招聘筆試試題及答案解析
- “雙減”背景下初中化學作業設計優秀案例
- 綜合英語(3)-國家開放大學電大學習網形考作業題目答案
- 影視劇改編經典案例解析課件(全)
- 甘肅省教育科學規劃20XX年度課題申請申報表
評論
0/150
提交評論