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