C++ da umumiy turlardan foydalangan holda, shablon funksiyalar va sinflarni aniqlashimiz mumkin


Funksiya shablonini Override qilish yangi usuli



Yüklə 52,16 Kb.
səhifə9/10
tarix30.11.2022
ölçüsü52,16 Kb.
#71513
1   2   3   4   5   6   7   8   9   10
C da umumiy turlardan foydalangan holda, shablon funksiyalar v

Funksiya shablonini Override qilish yangi usuli:

  1. template<> void swapargs(int &a, int &b)

  2. {

  3. int temp;

  4. temp = a;

  5. a = b;

  6. b = temp;

  7. cout << " int tipi uchun maxsus swapargs funksiyasi.\n";

  8. }

Funksiya shablonini overload qilish:
// Oddiy funksiyalardek, funksiya shablonini ham overload qilish mumkin.

  1. #include

  2. using namespace std;

  3. // f() funksiya shablonining birinchi turi.

  4. template void f(X a)

  5. {

  6. cout << "Inside f(X a)\n";

  7. }

  8. // f() funksiya shablonining ikkinchi turi.

  9. template void f(X a, Y b)

10. {
11. cout << "Inside f(X a, Y b)\n";
12. }
13. int main()
14. Original i, j: 10 20
15. Original x, y: 10.1 23.3
16. Original a, b: x z
17. int tipi uchun maxsus swapargs funksiyasi.
18. swapargs funksiya shabloni chaqirildi.
19. swapargs funksiya shabloni chaqirildi.
20. Swapped i, j: 20 10
21. Swapped x, y: 23.3 10.1
22. Swapped a, b: z x
23. {
24. f(10); // calls f(X)
25. f(10, 20); // calls f(X, Y)
26. return 0;
27. }
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.
Sinf shablonlari (class template)
Sinf shablonini ishlatish

Yüklə 52,16 Kb.

Dostları ilə paylaş:
1   2   3   4   5   6   7   8   9   10




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