#include<iostream>
using std::cout;
using std::endl;
template<class T>//类模板声明
class Compare
{
public:
T max(T x, T y)
{
return(x>y?x:y);//返回最大值
}
private:
T x;
T y;
};
int testInt()
{
int max;
//------------------//类模板实例化 T -> int
Compare<int> maxInt;
max=maxInt.max(45, 34);
return max;
}
double testDouble()
{
double max;
//------------------//类模板实例化 T -> double
Compare<double> maxDouble;
max = maxDouble.max(0.45, 3.4);
return max;
}
int main()
{
cout<<testInt()<<endl; //int
cout << testDouble() << endl; //double
return 0;
}
输出结果:
45
3.4
分别输出 int、double 类型结果。实现一类多用。