Mavzu: Klass va funksiyalar shablonlari. Klass va funksiyalar shablonlarini dasturlash. Shablonlarning standart kutubxonasi (ShSK). ShSk-komponentalari


Download 11.68 Kb.
bet1/4
Sana31.01.2024
Hajmi11.68 Kb.
#1830081
  1   2   3   4
Bog'liq
6-Mavzu Shablonlar va STL komponentlar

Mavzu: Klass va funksiyalar shablonlari. Klass va funksiyalar shablonlarini dasturlash. Shablonlarning standart kutubxonasi (ShSK). ShSK-komponentalari

Reja:

  • Funksiya shablonlar;
  • Sinf (class) shablonlar
  • C++ dasturlash tilida STL bilan tanishish;
  • Konteynerlar tushunchasi;
  • Iteratorlar algoritmlari tushunchasi;

.

Shablonlar (ing template) — ayrim parametrlarga (masalan: ma’lumot tiplariga, joriy qiymatlarga) bog’lamasdan umumlashgan (yoki qo’shma) algoritmlarni kodlash uchun mo’ljallangan C++ (va b.) dasturlash tillari vositasi.

  • Shablonlar (ing template) — ayrim parametrlarga (masalan: ma’lumot tiplariga, joriy qiymatlarga) bog’lamasdan umumlashgan (yoki qo’shma) algoritmlarni kodlash uchun mo’ljallangan C++ (va b.) dasturlash tillari vositasi.
  • C++ da shablon funksiya va sinflar yaratish imkoniyati mavjud.
  • Shablonlar parametrlashgan funksiya va sinflar yaratish imkoniyatini beradi.
  • Parametrlar (mavjud tiplardan tashkil topgan) ixtiyoriy qiymatlar yoki o’zgaruvchilar bo’lishi mumkin.

1)
2)

Masalan:

class Class_1{

int m1;

int A[20];

...

}; yaratilgan bo’lsin. Endi bizga 30 ta elementli massiv va haqiqiy turdan iborat sinf kerak bo’lsin


template <int m1_uzunlik, typename tip > class Class_1{ tip bizning_tip; m1 A1 [m1_uzunlik]; ... };

U holda 1- hol uchun: Class1 < 20, int > Nomi1;

2- hol uchun: Class1< 30, double > Nomi2;

Shablon funksiyalarning kamchiliklari

  • Birinchidan: Kompilyatorlar har bir parameterlar uchun alohida funksiya yoki sinflar ekzemplyar yaratilishi;
  • Ikkinchian: oddiy funksiyalarga qaraganda hatolikni topish murakkabligida;
  • Uchinchidan: Kompiliatsiya vaqtining oshishi, fayl hajmining oshishi (bitta shablon bir nechat faylga joriy etilgan va kompilatsiyalangan bo’lishi mumkin)

Download 11.68 Kb.

Do'stlaringiz bilan baham:
  1   2   3   4




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