如何使用类模板
(一)类的功能相同,但数据类型不同,可使用类模板;
(二)声明和使用类模板的步骤:
1、声明一个模板:
template<class 虚拟数据类型名T>
2、定义类:
class 类名C
{private:
T a,b;
……
Public:
T f()
{
函数体
}
};
3、在主函数中定义对象:
int main()
{类名C<实际数据类型名,如int,float,char,double>对象名(实参表);
类名C<实际数据类型名,如int,float,char,double>对象名(实参表);
……
}
(三)实例:声明一个类模板,利用它分别实现两个整数、浮点数和字符的比较,求出大数和小数。
代码如下:
#include<iostream>
using namespace std;
template<class T>
class Compare
{private:
T x;
T y;
public:
Compare(T a,T b)
{x=a;
y=b;
}
T max()
{
return(x>=y?x:y);
}
T min()
{
return(x<y?x:y);
}
};
int main()
{Compare<int> c(3,-7);
cout<<c.max()<<endl<<c.min()<<endl;
Compare<char> cc('x','t');
cout<<cc.max()<<endl<<cc.min()<<endl;
Compare<float> ccc);
cout<<ccc.max()<<endl<<ccc.min()<<endl;
return 0;
}
代码运行结果: