Funksiya shablonlari



Download 114,12 Kb.
Pdf ko'rish
Sana13.01.2023
Hajmi114,12 Kb.
#899300
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 ©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