设为首页 加入收藏

TOP

C++ 类模板和模板类的深入解析(二)
2014-07-19 23:04:03 来源: 作者: 【 】 浏览:142
Tags:  模板 深入 解析

 

  (3) 类模板的使用 类模板的使用实际上是将类模板实例化成一个具体的类,它的格式为:类名<实际的类型>.

  模板类是类模板实例化后的一个产物。说个形象点的例子吧。我把类模板比作一个做饼干同的模子,而模板类就是用这个模子做出来的饼干,至于这个饼干是什么味道的就要看你自己在实例化时用的是什么材料了,你可以做巧克力饼干,也可以做豆沙饼干,这些饼干的除了材料不一样外,其他的东西都是一样的了。

  3.函数模板和模板函数

  (1)函数模板

  函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函数的函数体重复设计。它的最大特点是把函数使用的数据类型作为参数。

  函数模板的声明形式为:

  template<typename(或class) T>

  <返回类型><函数名>(参数表)

  {

  函数体

  }

  其中,template是定义模板函数的关键字;template后面的尖括号不能省略;typename(或class)是声明数据类型参数标识符的关键字,用以说明它后面的标识符是数据类型标识符。这样,在以后定义的这个函数中,凡希望根据实参数据类型来确定数据类型的变量,都可以用数据类型参数标识符来说明,从而使这个变量可以适应不同的数据类型。例如:

  template<typename(或class) T>

  T fuc(T x, T y)

  {

  T x;

  //……

  }

  函数模板只是声明了一个函数的描述即模板,不是一个可以直接执行的函数,只有根据实际情况用实参的数据类型代替类型参数标识符之后,才能产生真正的函数。

  (2)模板函数:

  模板函数的生成就是将函数模板的类型形参实例化的过程。

  例如:

  double d;

  int a;

  fuc(d,a);

  则系统将用实参d的数据类型double去代替函数模板中的T生成函数:

  double fuc(double x,int y)

  {

  double x;

  //……

  }

      

首页 上一页 1 2 3 4 下一页 尾页 2/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言接口与实现实例 下一篇基于ACE的定时器模板类

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·About - Redis (2025-12-26 08:20:56)
·Redis: A Comprehens (2025-12-26 08:20:53)
·Redis - The Real-ti (2025-12-26 08:20:50)
·Bash 脚本教程——Li (2025-12-26 07:53:35)
·实战篇!Linux shell (2025-12-26 07:53:32)