模板_01

1、函数模板

1.1、

简单例子:

template<typename T>  //或者 template<class T>
T max(T a, T b)
{
  return a>b? a:b;
}

2、类模板

2.1、

简单例子:

template<typename T> //或者 template<class T>
class CMax
{
public:
  CMax(T a, T b)
  {
    m_a = a;
    m_b = b;
  }

  T GetMax()
  {
    return m_a>m_b? m_a:m_b;
  }
private:
  T m_a;
  T m_b;
};

2.2、

◆ 可以定义多种类型的形参。

template<typename T1, typename T2>

class CTest

{...};

对象实例化时:

CTest testA<int, float>;

CTest testB<double, string>

3、

原文地址:https://www.cnblogs.com/cppskill/p/5438499.html