极客班 c++(下)第二周学习笔记 ——template简单分类

template 简单分类

template 分为类模板(class template)、函数模板( function template )、成员模板( member template )三类。

①类模板
顾名思义,这是一个类(class)
template<typename T>
class complex
{
public:
  complex(T r = 0 , T i = 0  )
  :re(r),im(i)
  {}
  complex& operator += (const complex&);
  T real () const {return re;}
  T imag() const {return im;}
private:
  T re,im;

friend complex& __doapl(complex*,const complex&);
}

其中< typename T>也吸写做< class T>,T表示类型名。
应用时

{
  complex<double> c1(1.1,2.2);
  complex<int> c2(1,2);
}
②函数模板
这是一个函数
template<class T>
inline
const T& min(const T&a,const T&b)
{
return b<a?b:a;
}
调用过程如下,实际应用时T类中要有对 operator<(T,T)
调用过程如上,实际应用时T类中要有对 operator<(T,T)
③成员模板
本身是一个模板,而它又是类中的一个成员,如下图中黄色部分
成员模板
应用时
{
  class A{};
  class B{};
  class Aa:public A{};
  class Bb:public B{};

  pair<Aa,Bb> c1;
  pair<A,B> c(c1);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值