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


Funksiya shablonini Override qilish yangi usuli


Download 52.16 Kb.
bet9/10
Sana19.11.2023
Hajmi52.16 Kb.
#1786539
1   2   3   4   5   6   7   8   9   10
Bog'liq
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

Download 52.16 Kb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   10




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling