template<> void swapargs(int &a, int &b)
{
int temp; temp = a; a = b;
b = temp;
cout << " int tipi uchun maxsus swapargs funksiyasi.\n";
}
Funksiya shablonini Override qilish yangi usuli
Funksiya shablonini overload qilish.
#include using namespace std;
// f() funksiya shablonining birinchi turi. template void f(X a)
{
cout << "Inside f(X a)\n";
}
// f() funksiya shablonining ikkinchi turi. template void f(X a, Y b)
{
cout << "Inside f(X a, Y b)\n";
}
int main()
{
f(10); // calls f(X) f(10, 20); // calls f(X, Y) return 0;
}
// Oddiy funksiyalardek, funksiya shablonini ham overload qilish mumkin.
Funksiya shablonining kamchiligi
Umumiy funksiyalar funksiya overloadining o’rnini bosishi mumkin.
Lekin bu yerda bitta kamchilik mavjud.
Biz oddiy funksiyani overload qilganimizda, har xil ma’lumotlar tipi uchun
funksiya tanasini har xil qilib yozishimiz mumkin.
Lekin umumiy funksiyada har xil tip qabul qila olgani bilan funksiya tanasi har doim bir xil bo’ladi, chunki bitta funksiyaga murojaat bo’ladi.
Faqatgina ma’lumotlar tipi har xil bo’la oladi.
Umumiy sinflar (sinf shabloni)
template TOIFA> class sinf_nomi{ ... } Sinf shablonini e’lon qilishning umumiy formasi: