Role of servants for e-government


Download 0.51 Mb.
Sana18.03.2023
Hajmi0.51 Mb.
#1282000
Bog'liq
Dasturlash C 15-maruza

Шаблонлар билан ишлаш

Режа:

  • 1.Шаблонлар ва уларнинг вазифаси
  • 2. Класларнини эълон қилишда шаблонлардан фойдаланиш
  • 3.Классларда шаблонлар

Шаблонлар ва уларнинг вазифаси

Шаблонлар ва уларнинг вазифаси


Шаблон – бу нима? Шаблон – бу битта функцияни, структурани ва классни турли ҳилдаги типлар билан ишлашидир. Шаблонларни яратишда template ҳизматчи сўзидан фойдаланилади. Масалан, икки сонни қўшиш функциясини яратишимиз керак бўлса, аввало бу икки сон қайси типга тегишлилигини билишимиз керак бўлади.

Бошқа дастурлаш тилларида бу функцияни бир неча марта бошқа – бошқа типларда эълон қилинади. C++ дастурлаш тилида эса бу функцияларни шаблонлар билан амалга оширса бўлади. Функция ёки структуранинг шаблони яратиш қуйидаги кўринишда амалга оширилади:

Бошқа дастурлаш тилларида бу функцияни бир неча марта бошқа – бошқа типларда эълон қилинади. C++ дастурлаш тилида эса бу функцияларни шаблонлар билан амалга оширса бўлади. Функция ёки структуранинг шаблони яратиш қуйидаги кўринишда амалга оширилади:

template < typename T>

template < typename T>

T <функциянинг номи>

(<параметрлар рўйхати>)

{…}

ёки

template < typename T>

struct <структуранинг номи>

{…}


Funktsiyalarni yaratishda shablondan foydalanish

Структураларни яратишда шаблонлардан фойдаланиш
Турли дастурлар тузиш жараёнида турлича масалаларга дуч келамиз. Масалан, бутун сонлардан ташкил топган рўйхати олиб қарайдиган бўлсак ёки талабалар ҳақида маълумот берувчи рўйхатни олиб қарайдаган бўлсак, бу иккала мисолда ҳам қандайдир бир жинсли маълумотларнинг кетма – кетлиги тушинилмоқда.

Лекин, бу кетма – кетликдаги элементлар сони, бу кетма – кетликка элемент қўшиш ёки уни олиб ташлаш функциялари мавжуд бўлишини кўзда тутиб, бу кетма – кетлик массивларда эмас, балки структураларда муаммони ечиш яхшироқ бўлиши ҳаммамизга маълум.

template T summa k, T l);

template T summa k, T l);

Yuqorida yozgan shablonimizni qo'llagan holga bir misol keltiraylik. 

Shablonlar bilan ishlash 


Klasslarni yaratishda shablondan foydalanish
Shablonlar funktsiyalar va sinflar oilasini yaratishga imkon beradi. Shablalar sinfiy yoki parametrlangan tillar deb ham ataladi. Yuqorida ko’rsatilganidek funktsiyalar oilasi shabloni cheksiz ko’p o’zaro yaqin funktsiyalarni aniqlashga imkon beradi va quyidagiga ega bo’ladi:
templatef-ya tarifi.
Shablon tarifi faqat global bo’lishi mumkin. Shablon kiritilgandan so’ng sinflar obe’ktlari quyidagicha ta'riflananadi;
parametrlangan sinf nomi
obe’kt-nomi(konstruktor parametrlari);

Шаблонлар ва уларнинг вазифаси

Шаблонлар ва уларнинг вазифаси


Shablon funksiya e'loni va aniqlanishidan oldin template <> ifodasi yoziladi, <> qavslardan keyin nuqta-vergul (;) qo'yilmaydi. <> qavslar ichida funksiya kirish parametrlari, chiqish qiymati va lokal o'zgaruvchilar tiplari beriladi. Ushbu formal tiplarning har birining oldida class yoki typename (tip ismi) so'zi qo'yilish kerak. Yuqoridagi misolda T ning o'rniga istalgan boshqa identefikator qo'yish mumkin. Misollar beraylik. 
template javob hajmKub(uzunlik a, kenglik b, balandlik c);

template T maximum(T k, T l);

template T maximum(T k, T l);

Yuqorida yozgan shablonimizni qo'llagan holga bir misol keltiraylik. 

Shablonlar bilan ishlash 


Класларнини эълон қилишда шаблонлардан фойдаланиш
Shablonlar funktsiyalar va sinflar oilasini yaratishga imkon beradi. Shablalar sinfiy yoki parametrlangan tillar deb ham ataladi. Yuqorida ko’rsatilganidek funktsiyalar oilasi shabloni cheksiz ko’p o’zaro yaqin funktsiyalarni aniqlashga imkon beradi va quyidagiga ega bo’ladi:
templatef-ya tarifi.
Shablon tarifi faqat global bo’lishi mumkin. Shablon kiritilgandan so’ng sinflar obe’ktlari quyidagicha ta'riflananadi;
parametrlangan sinf nomi
obe’kt-nomi(konstruktor parametrlari);

Download 0.51 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling