C++ 类模板

类模板附带一个可变数据类型,在定义类实例时指定其数据类型,产生对应于某数据类型的类。

在类和类函数定义前加“template<class T>”标识类模板,其中“T”为可变类型。

#include<iostream.h>

template<class t>  // 模板前缀
class MyClass
{
    public:
        t value;
        void setvalue(t v);
        void printvalue();
};

template<class t>  // 模板前缀
void MyClass<t>::setvalue(t v)
{
    value = v;
}

template<class t>  // 模板前缀
void MyClass<t>::printvalue()
{
    cout << value;
}

main(int argc,char *argv[])
{
    MyClass<int> ii;  // 定义 int 类型的类
    ii.setvalue(9);
    ii.printvalue();

    MyClass<char> cc; // 定义 char 类型的类
    cc.setvalue('a');
    cc.printvalue();

    return 0;
}