//模板类比较大小
template<class T1,class T2>
//强制类型转换
T2 Change(T1 a)
{
return T2(a);
}
template<class T>
//比较大小
T Max(T a,T b)
{
return(a>b?a:b);
}
template<class T>
//强制类型转换(数据类型从低到高依次为: char<short<int<float<double)
T MyStatic_Cast(int a)
{
return T(a);
}
//调用实施
int main()
{
int a=9;
int b=2;
//测试模板函数
cout<<Max<int>(a,b)<<endl;//Max<int>(a,b)----显式;Max(a,b)---隐式
//强制类型转换
cout<<a/b<<'\t'<<a/Change<int,double>(b)<<endl;
cout<<a/static_cast<double>(b)<<endl;
cout<<a/Change<int,double>(b)<<endl;
return 0;
}