种模板: template

类模板: template <class sp>
#include<iostream>
using namespace std;
template <class sp>
class Num
{
	public:
	Num(sp a,sp b):a1(a),b1(b){}
	sp max();
	sp min();
	private:
	sp a1,b1;
};
template <class sp>  //类外定义多需要声明此句。
sp Num<sp> ::max()
{
	return (a1>b1)?a1:b1;	
}
template <class sp>
sp Num<sp>::min()
{
	return (a1<b1)?a1:b1;
}
int main()
{
	Num<int> t(12,13);
	cout<<"max:"<<t.max()<<" min:"<<t.min()<<endl;
	Num<float> f(12.3,42.1);
	cout<<"max:"<<f.max()<<" min:"<<f.min()<<endl;
	Num<char> c('a','c');
	cout<<"max:"<<c.max()<<" min:"<<c.min()<<endl;
	return 0;
}