double maxValue(double value1, double value2)
{
10. if (value1 > value2)
11. return value1;
12. else
13. return value2;
14. }
15. char maxValue(char value1, char value2)
16. {
17. if (value1 > value2)
18. return value1;
19. else
20. return value2;
21. }
22. string maxValue(string value1, string value2)
23. {
24. if (value1 > value2)
25. return value1;
26. else
27. return value2;
28. }
Bu funksiyalarning to`rtalasi ham ulardagi qo`llanilgan turlarning har xil ekanliklari inobatga olinmasa, deyarli bir xil. Birinchi funksiya int turini, ikkinchi funksiya double turini, uchinchi funksiya char turini va to`rtinchi funksiya string turini qo`llaydi. Agar biz quyidagicha ko`rinishda, umumiy tur bilan, bittagina, oddiy funksiyani aniqlasak, bir funksiyaning o`zida barcha turlarning saqlanib qolishi, ortiqcha bo`sh joyning paydo bo`lishi va dasturning osonlik bilan qayta sozlanishiga erishishimiz mumkin:
GenericType maxValue(GenericType value1, GenericType value2)
{
if (value1 > value2)
return value1;
else
return value2;
}
Mazkur GenericType (UmumiyTur) int, double, char, string kabi turlarning barchasini qo`llay oladi. C++ funksiya shablonlarini umumiy tur bilan aniqlash imkonini beradi. 6.1-kodli ro`yxat umumiy turdagi ikkita qiymatning kattasini topish uchun funksiya shablonini aniqlaydi.
1.1-kodli ro'yxat. GenericMaxValue.cpp
#include
#include
Do'stlaringiz bilan baham: |