/*如果让实现一个比大小的函数,而被比大小的数据环境又比较复杂,如各种换类型,该用何种方案解决?1、宏定义2、函数重载3、函数模板其中,第一种、绕过了类型检查机制。第二种、需要写诸多函数。只有第三种较简单*/#include <iostream>using namespace std;template <typename T1>T1 whoIsMax(T1 numA, T1 numB){return numA > numB ? numA : numB;}// 函数模板重载可以解决模板不提供隐式转换的问题int whoIsMax(int numA, int numB){return numA > numB ? numA : numB;}int main1(){cout << "max(3,5) is max: " << whoIsMax(3, 5) << endl;cout << "whoIsMax(3.9,3.8) is max value: " << whoIsMax(3.9, 3.8) << endl;cout << " max ( ‘y‘ , ‘e‘ ) is " << whoIsMax(‘y‘, ‘e‘) << endl;return 0;}
原文:http://www.cnblogs.com/nfking/p/5582671.html