Shablonlar tushunchasi Hafta: 6 Ma’ruza: 6



Download 466,66 Kb.
Sana06.01.2022
Hajmi466,66 Kb.
#322439
Bog'liq
Leksiya #6

Shablonlar tushunchasi

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 asoslari

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

Sinf shablonlari

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

Download 466,66 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish