#类模版
回忆一下函数模版,类模版的概念与它非常相似。所谓模版,就是把类型参数化,一段代码可以给不同类型的数据使用。直接看例子吧。
#include <iostream>
using namespace std;
template<class T>
class Max3
{
public:
Max3(T x,T y,T z){a=x;b=y;c=z;}
T Max(void);
private:
T a,b,c;
};
template<class T>
Max3<T>::Max(void)
{
int temp=a>b?a:b;
return temp>c?temp:c;
}
void main()
{
Max3<int> A(1,2,3);
Max3<float> B(3.3,1.4,2.5);
cout<<"max of A: "<<A.Max()<<endl;
cout<<"max of B: "<<B.Max()<<endl;
}
类模版Max3,有3个数据成员a,b,c,他们的类型是T,也就是类型参数化。T可以是int,也可以是double。
关键看main函数里面类模版的用法,类型成为了参数,对象A的数据成员是int型,对象B的数据成员是float型。
在右侧代码框中编写程序:根据上述例子,写一个最小值的函数模版