函数模板 类模板

来源:百度文库 编辑:神马文学网 时间:2024/04/27 18:44:01
关键字: template , template

模板

       模板(template)是一个将数据类型参化的工具,它提供了一种将代码与数据类相脱离的机制,即代码不受具体的数据类型的影响。模板分为函数模板和类模板两种。

      (1)函数模板

      函数模板是一种不说明某些参数的数据类型的函数。例如,下面定义了一个可对任何类型变量进行操作(求绝对值)的函数模板。

Cpp代码
  1.  template <class T> //或写成:template     函数参数的类型T
  2.  T abs(T val)   
  3. {   
  4.        return val<0 ? -val : val;   
  5.  }  

   

   在函数模板被调用时,编译器根据实际参数的类型确定模板参数T的类型,并自动生成一个对应的函数,即模板函数。模板参数的类型不同,生成的模板函数也不同。

 

     例 1 函数模板的定义和使用

Cpp代码
  1. #include    
  2.   
  3. template <class T>            //定义模板   
  4. T abs(T val)                //定义函数模板   
  5. {   
  6.     return val<0 ? -val : val;   
  7. }   
  8.   
  9. void main()   
  10. {   
  11.     int i=100;   
  12.     cout <//类型参数T替换为int   
  13.     long l=-12345L;   
  14.     cout <//类型参数T替换为long   
  15.     float f=-125.78F;   
  16.     cout <//类型参数T替换为float   
  17. }