种模板: 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; }