Guruh talabasi Qurbonboyev Shokirbekning 1- tajriba ishi Mavzu: Funksiya va sinflar shablonlari. Nazariy qism Funksiyalar shablonlari


Download 37.85 Kb.
bet1/4
Sana02.06.2024
Hajmi37.85 Kb.
#1835950
  1   2   3   4
Bog'liq
1 laboratoriya ishi


951_20- guruh talabasi Qurbonboyev Shokirbekning
1- Tajriba ishi
Mavzu: Funksiya va sinflar shablonlari.
Nazariy qism
Funksiyalar shablonlari
Funksiya shabloni (parametrlangan turlar) bog‘langan funksiyalar oilasini tuzish imkonini beradi. Shablon kiritilishi uchun, hosil qilingan funksiya avtomatlashtirish, har xil tipli ma’lumotlarni qayta ishlashdan iborat. Masalan, algoritm tartiblash uchun har qaysi funksiyani о‘zini aniqlovchi tipi qо‘llaniladi. Funksiya shabloni bir marta aniqlanadi, lekin parametrli aniqlashda va hokazo, ma’lumotlar tipi shablon parametrlari orqali beriladi.
Shablon formati:

template

{ }


Shablon funksiyasining asosiy parametrlarining xossasi.
Funksiyalar shablonlari parametrlarining asosiy xususiyatlari:
1. Parametrlar nomlari shablonning butun ta’rifi bо‘ylab unikal bо‘lmog‘i lozim.
2. Shablon parametrlarining rо‘yxati bо‘sh bо‘la olmaydi.
3. Shablon parametrlari rо‘yxatida xar biri class sо‘zidan boshlanadigan bir nechta parametr bо‘lishi mumkin.

Misol:

template T max(Tx, Ty){return(x>y)? x:y;}:

bunda shablonining argumenti tomonidan taqdim etilgan ma’lumotlar turi xar qanday bо‘lishi mumkin. Undan dasturda foydalanishda kompilyator max funksiyasi kodini bu funksiyaga uzatilayotgan parametrlarning faktik turiga muvofiq generatsiya qiladi:

int i;

Myclass a,b;

int i=max(i, 0);//argumentlar turi int

myclass m=max(a, b);// argumentlar turi myclass

Faktik turlar kompilyatsiya paytida ma’lum bо‘lishlari kerak. Shablonlarsiz max funksiyasini kо‘p martalab ortiqcha yuklashga tо‘g‘ri kelar edi, ya’ni, garchi barcha funksiya versiyalarining kodlari bir xil bо‘lsa xam, xar bir qо‘llanayotgan tur uchun aloxida ortiqcha yuklash kerak bо‘lar edi.



Download 37.85 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4




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