O‘zbekiston respublikasi oliy va o‘rta maxsus ta’lim vazirligi tоshkеnt dаvlаt iqtisоdiyot universitеti
Sinflar shablonlari. Sinf shablonlarning asosiy xossalari
Download 1.96 Mb. Pdf ko'rish
|
Obyektga yo`naltirilgan dasturlash tillari
10.2. Sinflar shablonlari. Sinf shablonlarning asosiy xossalari
Sinf shablonlari (o‘zgacha parametrlangan sinf) avlodga oid sinfni tuzish uchun ishlatiladi. Тuzish qoidalarni va ayrim obyektlarni formatini aniqlovchi sinf kabi, sinf shablonlari ayrim sinflarni tuzish usullarini aniqlaydi. Shablondagi sinf ta’rifida sinf ismi ayrim sinflarning emas oilaviy sinflarning parametrlangan ismi bo‘ladi. Parametrlangan sinfning e’lon etish umumiy shakli: template Parametrlangan sinf funksiyalarining komponentalari avtomatik ravishda parametrlangan bo‘ladi. Ularni template yordamida parametrlangan sifatida e’lon etish shart emas. Parametrlangan sinfda tavsiflangan do‘stona funksiyalar avtomatik ravishda parametrlangan funksiyalar bo‘lmaydi, ya’ni ko‘rsatilmagan holda shunday funksiyalar berilgan shablon bo‘yicha tashkil etilgan barcha sinflar uchun do‘stona bo‘ladi. Agarda friend-funksiya o‘z tavsifida parametrlangan sinf tipdagi parametrga ega bo‘lsa, unda berilgan shablon bo‘yicha yaratilgan barcha sinflar uchun xususiy friend–funksiyasi mavjud. Parametrlangan sinf doirasida friend-shablonlarni (do‘stona parametrlangan sinflar) tavsiflash mumkin emas. Bir tarafdan, shablonlar shablonlardan xosil (meros) bo‘lgandek, oddiy sinflardan ham xosil (meros) bo‘lishi mumkin. Ikkinchi tarafdan esa ulardan boshqa shablonlar va sinflar uchun bazoviy sifatida foydalanishi mumkin. Sinf a’zosi bo‘lgan funksiyalar shablonlarini virtual sifatida tavsiflash mumkin emas. 85 Lokal sinflar o‘z elementlar sifatida shablonlarni o‘z ichiga olish mumkin emas. 10.3. Parametrlangan sinflarning komponent funksiyalari Sinf shablonining tavsifidan tashqarida joylashgan sinf shablonining komponentli funksiyasini amalda oshirishda quyidagi ikkita elementni qo‘shimcha kiritish lozim: Тavsiflash template kalitli so‘zdan boshlanishi lozim, undan so‘ng burchakli qavislarda sinf shablonni tavsifida ko‘rsatilgan tiplar_parametrlarining_ruyxati keladi. Ko‘rish soxasi operatsiyasidan (::) oldinda bo‘lgan sinf ismidan so‘ng shablonning parametrlar_ismlari_ro‘yxati kelishi lozim. template : : ){ . . . } Sinf obyektlari bilan ishlash uchun vector qo‘shimcha yuklangan shablon sinfi: template { T *data; int size; public: array(int k) {size =k; data = new T[size]}; T& operator[](int i){return data[i];} int size() { return size; } ~array () { delete []data; } void input_ vector (); void show_ vector (); }; template { 86 for (int i = 0; i < index; i++) {cin>>data[i] ; cout << ' ';} } template { for (int i = 0; i < index; i++) cout << data[i] << ' '; } Download 1.96 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling