类模板

来源:互联网 发布:ios文件上传java 接口 编辑:程序博客网 时间:2024/06/07 11:47
#include <iostream>using namespace std;/*类模板:对于功能相同而数据类型不同的一些函数,不必定义一个可对任何类型变量进行操作的函数模板,在调用函数时,系统会根据实参的类型,取代函数模板中的类型参数,得到具体的函数*/template<class numType>    //定义类模板class 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> cint(3,7);//静态创建cout<<cint.max()<<" "<<cint.min()<<endl;Compare<float> cfloat(3.9,7.9);cout<<cfloat.max()<<" "<<cfloat.min()<<endl;Compare<char> *cchar = new Compare<char>('a','B');//能用指针形式动态创建cout<<cchar->max()<<" "<<cchar->min()<<endl;return 0;}

0 0