C++函数模板和类模板

打印 上一主题 下一主题

主题 997|帖子 997|积分 2991

  C++语言全盘继承了C语言的标准库,其中包换非常丰富的系统函数,例如输入/输出函数、数学函数、字符串处理函数和动态内存分配函数等。C++语言另外又增加了一些新的库,我们把C++语言新增的这部分库称为C++标准库。C++语言的模板技术包括函数模板和类模板。模板技术是一种代码重用技术,函数和类是C++语言中两种主要的重用代码形式。代码模板使源程序更加凝练。
一、函数模板
  函数模板的基本原理是通过数据类型的参数化,将一组算法相同但所处理数据类型不同的重载函数凝练成一个函数模板。
1、函数模板的定义和使用
  函数模板的定义语法形式:
  template
  函数类型 函数名(形参参数列表)
  {
    函数体
  }
函数模板的几点语法细则:

  • 定义函数模板以关键字template开头
  • 类型参数列表可以声明一个或多个类型参数,每个类型参数以"typename 类型参数名"或"class 类型参数名"的形式声明,类型参数之间用逗号”,“隔开。
  • 函数模板的其余部分,包括函数类型、函数名、形式参数列表以及函数体,它们和普通函数的定义形式没有什么区别。
  • 使用typename和class声明的类型参数可视为一种新的数据类型,可用来定义函数类型(即返回值类型)、形参类型和局部变量类型。类型参数是表示数据类型的参数,再实际调用时可被替换成任意数据类型
示例:
[code]#includeusing namespace std;template   //定义函数模板Max,声明一个类型参数TT Max(T x,T y)   //使用类型参数T定义函数类型和形参x和y的类型{    return(x>y?x:y);}int main(){    cout
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

十念

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表