C++ da shablonlar
C++ da shablonlar mavzusida tayyorlagan Reja: 1. Kirish 2. Umumiy shablonlar haqida . 3. Sinf shablon strukturasi ( misollar ). 4. Ko’p parametrli sinf shablonlari ( misollar ). 5. Xulosa
Kirish Shablon - bu C++ dasturlash xususiyati bo'lib, u umumiy turlar bilan funksiya va sinf operatsiyalarini amalga oshirishga imkon beradi, bu har bir tur uchun butun kod bloklarini qayta yozmasdan turli xil ma'lumotlar turlari bilan ishlash imkonini beradi. Shablonlar C++ tilidagi qimmatli yordamchi dastur hisoblanadi, ayniqsa operatorning haddan tashqari yuklanishi va bir nechta merosxo'rlik bilan foydalanilganda. Shablonlar turli xil ma'lumotlar turlarini bitta kod to'plamiga kodlash bilan bog'liq harakatlarni kamaytiradi va disk raskadrovka harakatlarini kamaytiradi
Umumiy shablonlar haqida : Shablon C++ tilida oddiy, ammo juda kuchli vositadir. Oddiy g'oya ma'lumotlar turini parametr sifatida o'tkazishdir, shunda biz turli xil ma'lumotlar turlari uchun bir xil kodni yozishimiz shart emas. Misol uchun, dasturiy ta'minot kompaniyasi har xil ma'lumotlar turlari uchun sort() ni talab qilishi mumkin. Bir nechta kodlarni yozish va saqlash o'rniga biz bitta sort() yozishimiz va ma'lumotlar turini parametr sifatida o'tkazishimiz mumkin. C++ shablonlarni qo'llab-quvvatlash uchun ikkita yangi kalit so'zni qo'shadi: "shablon" va "typename". Ikkinchi kalit so'z har doim "sinf" kalit so'zi bilan almashtirilishi mumkin. Shablonlar qanday ishlaydi? Shablonlar kompilyator vaqtida kengaytiriladi. Bu makrolarga o'xshaydi. Farqi shundaki, kompilyator shablonni kengaytirishdan oldin turini tekshiradi. G'oya oddiy, manba kodi faqat funksiya/sinfni o'z ichiga oladi, lekin tuzilgan kod bir xil funktsiya/sinfning bir nechta nusxasini o'z ichiga olishi mumkin. Shablonlar C++ tilining kuchli xususiyatlari bo'lib, umumiy dasturlarni yozish imkonini beradi. Shablonlarni amalga oshirishning ikki yo'li mavjud: 1)Funktsiya shablonlar. 2)Sinf shablonlar. Funktsiya shablonlariga o'xshab, biz turli xil ma'lumotlar turlari bilan ishlash uchun bitta sinf yaratish uchun sinf shablonlaridan foydalanishimiz mumkin. Sinf
shablonlari foydali bo'ladi, chunki ular bizning kodimizni qisqartirishi va boshqarilishi mumkin. Sinf shabloni strukturasi: Sinf shabloni template kalit so'zidan boshlanadi, undan keyin <> ichidagi shablon parametr(lar)idan keyin ma’lum bir nomli sinf yaratiladi. template <class X> class SnifNom { private: T var; //Kodning qolgan qismlari public: X funktsiyaNom(X arg); //Kodning qolgan qismlari }; Bu yerda X, shablon argumentidir. Sinf tanasi ichida a'zo o'zgaruvchisi(var) var va a'zo funktsiyasi funktsiyaNom() ikkalasi ham T turiga kiradi. Sinf shabloni ob'ektini yaratish Biz sinf shablonini e'lon qilganimizdan va aniqlaganimizdan so'ng, biz uning ob'ektlarini boshqa sinflar yoki funktsiyalarda (masalan, main() funksiyasi) quyidagi sintaksis bilan yaratishimiz mumkin
SinfNom <malumot turi> classObject; misol uchun SinfNom <int> classObject; SinfNom <float> classObject; SinfNom <string> classObject; 1-misol: C++ da sinf shabloni //Sinf shablonlaridan foydalanishni ko'rsatish uchun C++ dasturi #include <iostream> using namespace std; // Sinf shabloni template <class M> class Number { private: // M turidagi num o'zgaruvchisi M num; public: