Funksiya shablonlari
Download 114.12 Kb. Pdf ko'rish
|
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 kolemKub(uzinliq a, englik b, biyiklik c); template 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
ma'muriyatiga murojaat qiling