模板函数

  1. /*
  2. 如果让实现一个比大小的函数,而被比大小的数据环境又比较复杂,
  3. 如各种换类型,该用何种方案解决?
  4. 1、宏定义
  5. 2、函数重载
  6. 3、函数模板
  7. 其中,第一种、绕过了类型检查机制。第二种、需要写诸多函数。
  8. 只有第三种较简单
  9. */
  10. #include <iostream>
  11. using namespace std;
  12. template <typename T1>
  13. T1 whoIsMax(T1 numA, T1 numB)
  14. {
  15. return numA > numB ? numA : numB;
  16. }
  17. // 函数模板重载可以解决模板不提供隐式转换的问题
  18. int whoIsMax(int numA, int numB)
  19. {
  20. return numA > numB ? numA : numB;
  21. }
  22. int main1()
  23. {
  24. cout << "max(3,5) is max: " << whoIsMax(3, 5) << endl;
  25. cout << "whoIsMax(3.9,3.8) is max value: " << whoIsMax(3.9, 3.8) << endl;
  26. cout << " max ( 'y' , 'e' ) is " << whoIsMax('y', 'e') << endl;
  27. return 0;
  28. }




posted @ 2016-06-14 07:49  -刀狂剑痴-  阅读(156)  评论(0编辑  收藏  举报