C++ da umumiy turlardan foydalangan holda, shablon funksiyalar va sinflarni aniqlashimiz mumkin


Download 52.16 Kb.
bet1/10
Sana19.11.2023
Hajmi52.16 Kb.
#1786539
  1   2   3   4   5   6   7   8   9   10
Bog'liq
C da umumiy turlardan foydalangan holda, shablon funksiyalar v


C++ da umumiy turlardan foydalangan holda, shablon funksiyalar va sinflarni aniqlashimiz mumkin.
C++ tili qayta foydalaniluvchi dasturiy ta’minotni ishlab chiqish uchun shablon funksiyalar va sinflar bilan ta’minlaydi. Shablonlar funksiyalar va sinflarda turlarni muvofiqlashtirish (sozlash) qobiliyatini taqdim etadi. Bunday qobiliyat bilan, kompilyator aniq bir tur o`rnida qabul qila oladigan umumiy turga sifatida bitta funksiya yoki bitta sinfni aniqlashimiz mumkin. Masalan, biz umumiy turdagi ikkita sondan kattasini topish uchun bitta funksiyani aniqlashimiz mumkin. Agar bu funksiyani ikkita int argumentlar orqali chaqirsak, umumiy tur int turi bilan almashadi. Agar bu funksiyani ikkita double argumentlar orqali chaqirsak, umumiy tur double turi bilan almashadi.
Mazkur va bundan keying ma’ruzada shablonlar tushunchasi yoritib beriladi va siz qanday qilib funksiya shablonlari yoki sinf shablonlarini aniqlashni hamda ularni aniq turlar bilan ishlatishni o`rganib olishingiz mumkin. Shuningdek, ko`p qo`llaniluvchi, massivlarni almashtirishda qo`llashingiz mumkin bo`lgan umumiy vector shablonlarini ham o`raganishingiz mumkin.
hablonlar sinflar va funksiyalarda turlarni muvofiqlashtirish imkonini taqdim etadi. Biz funksiyalarni yoki sinflarni kompilyator tomonidan aniq bir tur o`rnida qabul qilinuvchi umumiy tur bilan aniqlashimiz mumkin.
Keling, shablonlarga bo`lgan ehtiyojni ko`rsatib berish uchun, oddiy bir misoldan boshlaymiz. Faraz qilaylik, biz ikkita butun sonlar, ikkita dubl sonlar, ikkita belgilar va ikkita satrlardan kattasini topmoqchimiz. Shu kungacha o`rgangan bilimlarimiz asosida, biz quyidagicha ko`rinishdagi to`rtta ko`p yuklanuvchi funksiyalarni aniqlashimiz mumkin:

  1. int maxValue(int value1, int value2)

  2. {

  3. if (value1 > value2)

  4. return value1;

  5. else

  6. return value2;

  7. }


  8. Download 52.16 Kb.

    Do'stlaringiz bilan baham:
  1   2   3   4   5   6   7   8   9   10




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