一、代码
#include <iostream>
#include <cstring>
using namespace std;
//函数模板
template <class T>
T min(T i, T j, T k)
{
if (i<j && i<k)
return i;
if (j<i && j<k)
return j;
return k;
}
//完全特化
const char* mint(const char* ch1, const char* ch2, const char* ch3)
{
int ret1 = strcmp(ch1, ch2);
int ret2 = strcmp(ch1, ch3);
int ret3 = strcmp(ch2, ch1);
int ret4 = strcmp(ch2, ch3);
if (ret1<0 && ret2<0)
return ch1;
if (ret3<0 && ret4<0)
return ch2;
return ch3;
}
int main(int argc, char*argv[])
{
//
cout<<min(10, 2, 3)<<endl;
cout<<min(10.5, 2.5, 3.5)<<endl;
cout<<min('c', 'a', 'b')<<endl;
//
cout<<min("Tom", "Jack", "Edition")<<endl;
return 0;
}
二、输出结果