Hafta: 6 Ma’ruza: 6 Maqsad - Shablonlarning foydali jihatlarini bilib olish
- Tur parametrlari bilan shablon funksiyalarni aniqlash
- Shablonlardan foydalangan holda umumiy saralash funksiyasini yaratish
Kirish C++ da umumiy turlardan foydalangan holda shablon funksiyalar va sinflar yaratish mumkin. Shablon funksiyalar va sinflar ko’plab turli ma’lumot turlari bilan ishlay oladi. C++ da umumiy tur uchun dasturlash mumkin. Misol uchun, umumiy turdagi ikki sondan kattasini aniqlovchi funksiya yaratdingiz. Agar siz funksiyani int argumentlar uchun chaqirishingiz kerak bo’lsa, u holda umumiy tur int turi bilan almashitriladi. Agar siz funksiyani ikki double argumentlar uchun chaqirmoqchi bo’lsangiz, u holda umumiy tur double turi bilan almashtiriladi. Shablonlar sinflar va funksiyalarda turlarni parametrlashtirish imkoniin beradi. Siz funksiyalar va sinflarni umumiy tur bilan aniqlay olasiz. Keyinchalik ular kompilyator tomonidan aniq bir tur bilan ishlatiladi. Shablon tushunchasini yoritib beradigan misol qaraymiz. Tasavvur qiling, ikkita butun, ikkita haqiqiy, ikkita belgi va ikki satrlardan kattasini aniqlash kerak. Buning uchun quyidagicha qayta yuklangan 4 ta funksiya yozilishi kerak: Shablonlar asoslari Yuqoridagi 4 funksiya deyarli bir xil, farqi faqat turlarida. Birinchi funksiyada int, ikkinchisida double, uchinchisida char va to’rtinchisida string turlaridan foydalanilmoqda. Agar funksiya quyidagicha umumiy tur orqali yaratilsa, u holda turlar soni ko’p bo’lib ketmaydi va dastur kodi ham uzun bo’lib ketmaydi: Bu yerda GenericType int, double, char va string turlaridan biri bo’la oladi. Listing 12.1 GenericMaxValue.cpp Natija Ogohlantirish! Umumiy maxValue funksiyasi ixtiyoriy tur uchun ishlaydi, faqat quyidagi shart ta’minlaanishi lozim: - Ikkita qiymat ham bir xil turda bo’lishi shart
- Ikki qiymat > operatori yordamida taqqoslanaishi lozim
Maslahat Shablonlardan foydalanish uchun yoki sintaksislaridan foydalanish mumkin. ko’rinishidan foydalanish maqsadga muvofiq, sababi dan foydalanishda sinf aniqlanishi bilan adashtirib qo’yish ehtimoli bor. Eslatma! Shablon funksiyada birdan ortiq parametrlar bo’lishi mumkin. Bu holatda, parametrlar qavs ichida vergul bilan ajratilib yoziladi: . Listing 12.2 GNVPassByReference.cpp Natija Misol: Umumiy saralash Bu listingda double turidagi massivni tanlash usuli orqali saralash qaralgan. Listing 12.3 GenericSort.cpp Natija Siz sinf uchun umumiy turlarni aniqlashingiz mumkin. Sinf qayerda tur sifatida paydo bo’lsa, o’sha yerda parametrlar turlaridan foydalanish mumkin. Shablon sinflar Xulosalar - Shablonlar funksiyalar va sinflarda turlarni parametrlashtirish imkonini oshiradi.
- Funksiyalar yoki sinflar uchun
Do'stlaringiz bilan baham: |