Funksiya va sinf shablonlari



Yüklə 148,72 Kb.
səhifə4/4
tarix28.02.2023
ölçüsü148,72 Kb.
#86005
1   2   3   4
Funksiya va sinf shablonlari

template TOIFA> class sinf_nomi {
...
}
Yoki quyidagi ko’rinishda e’lon qilish mumkin

Sinf shablonini ishlatish




sinf_nomi obyekt;


#include using namespace std; template class mypair {
T a, b; public:
mypair (T first, T second)
{a=first; b=second;} T getmax ();
};
template
T mypair::getmax ()
{
T retval;
retval = a>b? a : b; return retval;
}
int main () {
mypair myobject (100, 75); cout << myobject.getmax(); return 0;
}
Sinf shabloni uchun oddiy misol.


Sinf shablonida ikki xil toifadan foydalanish

#include using namespace std;
template class myclass
{
Type1 i; Type2 j; public:
myclass(Type1 a, Type2 b) { i = a; j = b; } void show() { cout << i << ' ' << j << '\n'; }
};
int main()
{



myclass ob1(10, 0.23);
myclass ob2('X', "Assalomu alaykum."); ob1.show(); // show int, double
ob2.show(); // show char, char *
return 0;
}





Dastur natijasi:

Maxsuslashtirilgan sinf shabloni




template class myclass { T x;
public:
myclass(T a) {
cout << "Inside generic myclass\n"; x = a;
}
T getx() { return x; }
};
// int toifasi uchun maxsuslashtirilgan sinf shabloni.
template <> class myclass { int x;
public:
myclass(int a) {
cout << "Inside myclass specialization\n"; x = a * a;
}
int getx() { return x; }
};
template<> konstruktori maxsusashtirilgan sinf shabloni uchun ishlatiladi


Shablonning asosiy xususiyatlari


  • reusable kod yozish imkonini beradi.

  • Shablonlar yordamida framework lar yaratish mumkin

  • Dastur kodi egiluvchanlik xususiyatiga ega bo’ladi.

  • Turli xil tipdagi ma’lumotlar ustida ishlash uchun kod yozishda vaqtni tejash

  • C++ dagi STL lar (Standard Shablon Kutubxonalar), nomidan ko’rinib turibdiki, shablonlar yordamida yaratilgan


Topshriqlar

4. Show_array funksiyasi shablonidan foydalanib massiv elementlarini chiqarish.
5. Ma’lum bir ishni bajaruvchi bitta va bir nechta konstruktordan iborat sinflar yaratish va ularni qo’llashga doir misollar

Yüklə 148,72 Kb.

Dostları ilə paylaş:
1   2   3   4




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin