模板分为函数模板和类模板,函数模板前面的文章有提到了,不赘述了。类模板的一般定义形式是:
在所有出现类模板的地方不能直接用类名表示,需要加上"<类型形参表>"。
using namespace std;
template <class T>
class A
{
private:
T a;
public:
A(T x) { a = x; }
T get() { return a; }
};
int main()
{
A<double> a(10);
cout << a.get() << endl;
return 0;
}
上面例子就是类模板的诠释,T用doubleT替代,同理,可以定义 B<int>等等。