STL-类模板
#include <iostream>using namespace std;template<class numtype>//声明一个模板,虚拟类型名为numtypeclass Compare{//类模板名为Comparepublic:Compare(numtype a, numtype b){x = a;y = b;}numtype m.
·
#include <iostream>
using namespace std;
template<class numtype>//声明一个模板,虚拟类型名为numtype
class Compare{//类模板名为Compare
public:
Compare(numtype a, numtype b){
x = a;
y = b;
}
numtype max(){
return (x>y) ? x : y;
}
numtype min();
private:
numtype x, y;
};
template<class numtype>
numtype Compare<numtype>::min(){
return (x<y) ? x : y;
}
int main(){
Compare<int> cmp1(3, 7);
cout<<cmp1.max()<<endl;
cout<<cmp1.min()<<endl;
Compare<float> cmp2(3.8, 7.9);
cout<<cmp2.max()<<endl;
cout<<cmp2.min()<<endl;
return 0;
}
//类模板的类型参数可以有一个或者多个,每个类型前面必须加class
template<class T1, class T2>
class someclass{
//.....
};
//在定义对象时分别代入实际的类型名
someclass<int, double> obj1;
someclass<float, string> obj2;
更多推荐
已为社区贡献1条内容
所有评论(0)