Funksiya shablonlari


Download 114.12 Kb.
Pdf ko'rish
Sana13.01.2023
Hajmi114.12 Kb.
#1091081
Bog'liq
Funksiya shablonlari e3acf34814d0570ab171962268eeef19



Funksiya shablonlari 
Funksiya shablonlari (function templates) ham funksiya jukleniwine uqsas 
tusinik. Bunda en’ tiykarg’i parq funksiya shablonlarinda amel ham birdey jol 
menen orinlanadi. Maselen bir neshe sanlar ishinen en’ ulkenin tabiw kerek bolsin. 
Sanlar toplami tek tipi menen parqlanadi, int, double yaki float. Islew algoritmi bolsa 
usi. Bul jag’dayda biz funksiyalardi juklep otirmasdan, shablon jazip qoyamiz. 
Funkisya shabloni yaki jukleniwisiz ham bul maseleni sheshiw mumking’o degen 
soraw payda boladi. Maselen, eger biz kiretugin parametrlardin’ hammesin long 
double qilsaq, qalegen sanli tipdegi argumentti bere alamiz, sebebi kompilyator o'zi 
avtomatik tarizde kiriw tiplerin long double ga o'zgertiredi. Lekin, eger biz bunday 
funksiya jazatugin bolsaq, hotiradan ham tezlikden utilamiz. programmamizda tek 
char tipindegi, bir baytli manisler menen islewimiz mumkin. long double bolsa 10 
bayt, ham en’ ulken sandi aniqlaw ushin sanlardi salistirganimizda, long double 
manislerdi salistiriw char tipindegi manislerdi salistiriwdan ko're ancha ko'p waqt 
aladi. Qalaberse, har dayim ham kompilyator tiplerdi birinen ekinshisine tuwri 
keltire aladi.
Shablonlardin strukturasi menen tanisayiq. Bizin’ funksiya eki kiriw 
argumentin bir birine qossin, ham juwaoti qaytarsin.
template  
T summa(T a, T b) { 
return ( a + b); 

Shablon funksiya dag’azasi ham aniqlaniwinan aldin template <> anlatpasi 
jaziladi, <> qawsirmalardan keyin noqat-utir (;) qoyilmaydi. <> qawslar ishinde 
funksiya kiriw parametrleri, shigiw manisi ham lokal o'zgeriwshiler tipleri beriledi. 
Usi formal tiplerdin’ har birinin’ aldinda class yaki typename (tip ismi) so'zi qoyiliw 
kerek. joqaridagi misalda T nin’ ornina qalegen basqa identefikator qoyiw mumkin. 
Misallar bereyik.
template juwap 
kolemKub(uzinliq a, englik b, biyiklik c);
template T maximum(T k, T l); 
Joqarida dazg’an shablonimizdi qollag’an halg’a bir misal keltiremiz.
// Shablonlar menen islew
# include
template  
T summa(T a, T b) { 
return ( a + b ); 
}
int main() 



int x = 22, y = 456; 
float m = .01, n = 56.90;) 
cout << "int: 22 + 456 = " << summa(x,y) << endl; 
cout << "float: 0.01 + 56.90 = " << summa(0.01,56.90) << endl; 
return (0); 

Ekranda:
int: 22 + 456 = 478 
float: 0.01 + 56.90 = 56.91 
Shablonlardi funksiyalardan tisqari klaslarg’a da qollasa boladi. Ko'rip 
turg’animizday, shablonlar tek bir martebe jaziladi. Keyin bolsa mas keletugin tipler 
qoyilip, jazilip keteberedi. Negizinde shablonlar C++ tin’ standartinda juda ko'p 
qollanilg’an. Eger bilip isletilse, shablonlar programisttin’ en’ ku’shli quralina 
aylaniwi mumkin. jane shablonlar

Download 114.12 Kb.

Do'stlaringiz bilan baham:




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