template 类模板举例

类模板的一个例子

#include <iostream>
template <typename T>
 class animal
{
  public:
        void add();
        animal (T a, T b): x(a),y(b)

  { }
  private:
        T x;
        T y;
};

template <typename T>
void animal<T>::add()          //类名无论走到哪里都要跟<T>; 实例化一个对象的时候要跟具体类型,如<int>.
{
 std::cout<<x+y<<std::endl;
}

int main()
{
animal<int> ani(1,2);
ani.add();
 return 0;
}
在类模板中成员函数既可以定义在类模板内(普通),也可以定义在类模板外,在定义类模板外时C++有这样的规定:需要在成员函数定义之前进行模板声明,且在成员函数名之前加上“类名<类型参数>::”

posted @ 2012-06-21 14:04  propheteia  阅读(302)  评论(0编辑  收藏  举报