C++编程入门(二) 互动版

#类模版

回忆一下函数模版,类模版的概念与它非常相似。所谓模版,就是把类型参数化,一段代码可以给不同类型的数据使用。直接看例子吧。

#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型。

在右侧代码框中编写程序:根据上述例子,写一个最小值的函数模版