函数模板 和类模板

本文通过实例详细解释了函数模板和类模板在使用方式上的区别,包括如何在不同数据类型下应用模板来实现通用代码复用。

转自:http://blog.sina.com.cn/s/blog_913c070a0100zuah.html

还是例子说话。

函数模板:
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);
//...

类模板:
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;
//...

现在看出区别了吧,区别在于函数模板和类模板的使用方式上:
函数模板在使用时不需要程序员指定类型,编译器在编译的时候会自动绑定;而类模板需要程序员手工指定,指定的方式是:类名字<类型>。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值