C++,template,类模板和函数模板

来源:互联网 发布:西部数码域名控制面板 编辑:程序博客网 时间:2024/05/16 18:06

第一:类模板

定义:

template<class T_TypeName>
class Test{
public:
 Test():m_T_n(5){}
 ~Test(){};
 void prientDemo();
public:
 void SetN(const T_TypeName &N){  m_T_n = N;}
 T_TypeName GetN(void)const{ return m_T_n ; }
private:
 T_TypeName m_T_n;
};

类成员函数定义:
template<class T_TypeName>//模板外的函数定义,必须要加上这一段
void Test<T_TypeName>::prientDemo()
{
  printf("This is a demo");
}

类实例化应用:
 Test<int> TestDemo;
 TestDemo.prientDemo();
 TestDemo.SetN(10);
 int N = TestDemo.GetN();


第二:函数模板
定义:

template <class T_Type>
T_Type Fun(T_Type X)
{
 T_Type m_x;
 m_x = X;
 return m_x;
}

函数使用:

 int iFun = Fun(10);
 double dFun =  Fun(6.666);




0 0