Danh mục

Bài giảng Lập trình hướng đối tượng: Bài 10 - Phạm Thị Bích Vân

Số trang: 12      Loại file: pptx      Dung lượng: 58.88 KB      Lượt xem: 12      Lượt tải: 0    
10.10.2023

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Bài 10 trình bày kiến thức về hàm và lớp template. Nội dung chính trong chương này gồm: hàm template, lớp template, Standard Template Library (STL), thành phần trong STL. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Bài giảng Lập trình hướng đối tượng: Bài 10 - Phạm Thị Bích VânBài10:HàmvàlớpTemplate HàmTemplate• Xétvídụsau: Viếthàmlấytrịtuyệtđốicủamộtsố.Taviếtnhiềuhàmứngvớinhiềukiểudữliệukhácnhau.intMyAbs(intX){ returnX>=0?X:X;}longMyAbs(longX){ HàmTemplate• Thayvìviếtnhiềuhàmứngvớinhiềukiểudữ liệu.Tasẽviếtmộthàmtổngquátdùng Templatenhưsau:templateTMyAbs(Tx){ return(x>=0)?x:x;}Gọihàm: cout HàmTemplate• Cúpháp: ▫ Tấtcảcáchàmtemplateđịnhnghĩabắtđầuvới từkhóatemplatetheosaumộtdanhsáchcác thamsốhìnhthứcvớihàmtemplatevâyquanh trongcácngoặcnhọn() ▫ Mỗithamsốhìnhthứcphảiđượcđặttrướcbởi từkhóaclassnhư: templatehoặctemplate LớpTemplate• Lớptemplatecũngmangýtưởngnhưhàm tempale.• Vídụ:Địnhnghĩamộtlớptemplatestack. LớpTemplatetemplateclassStack{ private: intSize;//Kíchthướcstack intTop; T*StackPtr; public: ~Stack() { LớpTemplate• ĐịnhnghĩaphươngthứccủalớptemplatetemplateintStack::Push(constT&Item){ if(!IsFull()) { StackPtr[++Top]=Item; return1; LớpTemplate• Hàmmain… StackFloatStack(5); floatF=1.1; cout LớpTemplate• Chúý: ▫ Hàmthànhviênđịnhnghĩabênngoàilớp templatebắtđầuvớiphầnđầulàtemplate ▫ Vídụ:templateintStack::Push(constT&Item){…………….} STL• STL(StandardTemplateLibrary)làmộtbộthư việnvôcùnghữudụngcủaC++.• Dùngđểlàmviệcvớicáccấutrúcdữliệuphổ biếnnhưdanhsách,hàngđợi,ngănxếpvàcác phéptoánchủyếuvớicáccấutrúcdữliệunày nhưtìmkiếm,sắpxếp,truyxuất,thêm,xóa, sửa ThànhphầntrongSTL• Cáccontainer(cácbộlưutrữdữliệu): ▫ làcáccấutrúcdữliệuphổbiếnđãtemplatehóadùng đểlưutrữcáckiểudữliệukhácnhau ▫ Gồmhailoại:  sequentialcontainer(cácbộlưutrữdữliệutuầntự)baogồm list,vectorvàdeque  associativecontainer(cácbộlưutrữdữliệuliênkết)bao gồmmap,multimap,setvàmultiset.• iterator(cáccontrỏdữliệu)làcáccontrỏđểtrỏđếncác phầntửtrongcácbộlưutrữ.• Cácalgorithm(cácthuậttoánlưutrữdữliệu)làcáchàm phổbiếnđểlàmviệcvớicácbộlưutrữnhưthêm,xóa,sửa, ThànhphầntrongSTL• Cácfunctionobject(cácđốitượnghàm)làcáchàmvàphép toánphổbiếnđểlàmviệcvớicácphầntửđượclưutrữ cũngnhưcácbộlưutrữvàcácthuậttoánlưutrữnhưcộng, trừ,nhân,chia,sosánh.• Cácadapter(cácbộtươngthích)Cácadapterchialàm3loại ▫ containeradapter(cácbộtươngthíchlưutrữ)baogồmstack, queuevàpriority_queue ▫ iteratoradapter(cácbộtươngthíchcontrỏ) ▫ functionadapter(cácbộtươngthíchhàm)

Tài liệu được xem nhiều: