#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()
{
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
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