- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.7 函数模板
2.7函数模板
《面向对象程序设计-C++》河南农业大学计算机科学系 河南农业大学计算机科学系 席 磊 2017年版hnaustu@126.com
• 泛化编程(Generic Programming)的手段。
• 什么是泛化编程?
–编写独立于类型的代码
• 什么是独立于类型的代码?
《面向对象程序设计-C++》 河南农业大学计算机科学系 席 磊 hnaustu@126.com
假设编写一个函数比较两个值并指出第一个值是小于、等于还是大
于第二个值
两个函数唯一的区别是形参的类型,而函数体是相同的--重载
明确处理的类型时是一个解决的策略,但存在未知类型时怎么
解决?代码如何独立于类型?--函数模板
函数模板定义
模板形参
templatetypename T
void swap(T a, T b)
{
T t=a;
函数模板名 a=b;
b=t;
数据形参
}
函数模板
定义体
《面向对象程序设计-C++》 河南农业大学计算机科学系 席 磊 hnaustu@126.com
函数模板用法
• 以函数模板名作调用的函数名,以数据实参作参数传递
templatetypename T
void swap(T a, T b){
T t=a; a=b; b=t;
}
int fn(){
int ix=6, iy=7, ia=3, ib=5;
swap(ix, iy); //产生函数定义体
swap(ia, ib); //不产生函数定义体
//...
}
《面向对象程序设计-C++》 河南农业大学计算机科学系 席 磊 hnaustu@126.com
• 例:
• #include iostream.h
编译器从函数的实参的类型推
• templatetypename T 导出函数模板的类型参数,当
类型参数的含义确定后,编译
• T abc(T x) 器以函数模板为样板,生成一
• { 个函数。
• return x0?-x:x;
• }
C++的重要特性之一是代码重
• void main() 用,代码重用的目的就是按不
• { 同方式重复使用代码。
• int n=
您可能关注的文档
最近下载
- 2024年4月 全国高等教育自学考试真题 人员素质测评理论与方法 06090.doc VIP
- 路基挡土墙专项施工方案 - 大模板.docx VIP
- 一种可连续工作的氦气纯化器与纯化方法.pdf VIP
- 抢救药品相关试题(附答案).docx VIP
- 施工现场机械设备检查技术规范 JGJ 160-2016知识培训.pptx
- 2017年版2020年修订普通高中语文课程标准解读与培训课件.pptx VIP
- (人教2024版新教材)英语四年级上册Unit4.2 Part A Let’s learn&Match, act and guess课件.pptx
- 2025届高考散文一轮整体复习:写人叙事类散文——《放牛记》全文详解+课件.pptx VIP
- 热力管道工程质量保证措施和体系.pdf VIP
- 黄帝内经的临床医学理论.PPT VIP
文档评论(0)