函数模版、类模版例子对比

仍是例子说话。程序员

函数模板:函数

template<class T> max(const T a, const T b)

{

  return (a>b ? a : b);

}

这样用:

//int

int a = 1, b = 2;

max(a, b);

//float

float c = 1.0f, d = 2.0f;

max(c, d);

//double

double e = 1.0, f = 2.0;

max(e, f);

//...

 

类模板:code

template<class T> 

class C

{

public:

  T max(const T a, const T b)

  {

    return (a>b ? a : b);

  }

};

对这个类进行实例化:

//int

C<int> cn;

//float

C<float> cf;

//double

C<double> cd;

//...

 

如今看出区别了吧,区别在于函数模板和类模板的使用方式上:编译器

函数模板在使用时不须要程序员指定类型,编译器在编译的时候会自动绑定;而类模板须要程序员手工指定,指定的方式是:类名字<类型>。编译

相关文章
相关标签/搜索