O. X. Azamatov
Download 1.82 Mb. Pdf ko'rish
|
3072-Текст статьи-7829-1-10-20200908
- Bu sahifa navigatsiya:
- 10.1. Funksiyalar shablonlari
Nazorat savollari:
1. Postfiks va prefiks amallar orasida qanday farq bor? 2. Qo‘shimcha yuklangan amallar qanday ikki usulda aniqlanadi? 3. Global do‘stona funksiya yordamida xamma amallarni qo‘shimcha yuklash mumkinmi? 4. Qaysi xolatda amalni global funksiya yordamida qo‘shimcha yuklash mumkin? 5. Funksiya operator da “sinf” yoki “sinfga ilova” tipidagi parametr ishlatish shartmi? 6. Unar va binar amal-funksiyalar sintaksisi farqi nimadan iborat? 83 10 bob. FUNKSIYALAR VA SINFLAR SHABLONLARI 10.1. Funksiyalar shablonlari Funksiya shablonlari (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 o‘zini aniqlovchi tipi qo‘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 bo‘ylab unikal bo‘lmog‘i lozim. 2. Shablon parametrlarining ro‘yxati bo‘sh bo‘la olmaydi. 3. Shablon parametrlari ro‘yxatida har biri class so‘zidan boshlanadigan bir nechta parametr bo‘lishi mumkin. Misol: template bunda turi har qanday bo‘lishi mumkin. Undan dasturda foydalanishda kompilyator tax 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 84 Faktik turlar kompilyatsiya paytida ma’lum bo‘lishlari kerak. Shablonlarsiz max funksiyasini ko‘p martalab ortiqcha yuklashga to‘g‘ri kelar edi, ya’ni, garchi barcha funksiya versiyalarining kodlari bir xil bo‘lsa ham, har bir qo‘llanayotgan tur uchun aloxida ortiqcha yuklash kerak bo‘lar edi. Download 1.82 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling