Funksiya va sinf shablonlari



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



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:





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