#include <iostream>
using namespace std;
template <class numtype>
class Compare
{
public:
Compare(numtype a,numtype b):x(a),y(b){}
numtype max();
numtype min();
private:
numtype x;
numtype y;
};
template <class numtype>
numtype Compare <numtype>::max()
{
returnx>y?x:y;
}
template <class numtype>
numtype Compare <numtype>::min()
{
return x<y?x:y;
}
int main()
{
Compare <int> cmp1(3,7);
cout<<cmp1.max()<<" is theMaximum of two integer numbers."<<endl;
cout<<cmp1.min()<<" is theMinimum of two integer numbers."<<endl;
Compare <float> cmp2(45.78,93.6);
cout<<cmp2.max()<<" is theMaximum of two float numbers."<<endl;
cout<<cmp2.min()<<" is theMinimum of two float numbers."<<endl;
Compare <char> cmp3('a','A');
cout<<cmp3.max()<<" is theMaximum of two characters."<<endl;
cout<<cmp3.min()<<" is theMinimum of two characters."<<endl;
return 0;
}