模版技术-浅谈.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
文档全是精心选出来的精品资料,绝对值得下载!

C++ 模板技术 模版介绍: 模版(Template)是根据参数类型生成函数和类的机制,是C++最强大的特征之一,通过使用模版,可以设计一个类来处理多种类型的数据,而不必为每一种类分别创建类。这样的好处是使程序更加简洁,更有效率。 C++中的模板提供了重用源代码的方法 C++中重用源代码有三种方法: 继承和组合方法实现了对象代码重用 包容器方法不同类型代码重用 参数代类型(模板)源代码重用 本节包含以下内容: 类模版 函数模版 模版的实例化 模版的作用 基于模版的元编程 模版的概念: 示例1: int getmax(int x,int y) { Return (xy?x:y) ; } float getmax(float x,float y) { Return (xy?x:y) ; } char getmax(char x,char y) { Return (xy?x:y) ; } 该例利用了重载技术,若传参类型不同,则调用不同的带参类型的函数。 若使用模版技术,就可以只定义一个函数。 templateclass mytype mytype getmax(mytype x, mytype y) { return (xy?x:y); } 下面我们来演示一下这段程序: 类模版的定义: 一般定义形式如下: template 类型形式参数表 class ClassName { //类声明体 } template 类型形式参数表 返回类型ClassName 类型名表::MemberFunction(形式参数表) { //成员函数体 } 类模版示例 templateclass T Class Tmp { Private: T values[2)] } Public: Tmp(T x,T y) { Values[0]=x; Values[1]=y; } }; 下面来看例1-3; 类模版和模版类的区别: 一般形式: template 类型形式参数表 返回类型Function(形式参数表) { //成员函数体 } 函数模版的示例1-4: 由于传递的实参类型不尽相同,为避免二义性,可以如下定义: Template class T1,class T2 若在使用过程中碰到从某数据类型强制截取到另一种类型,可以采取强制转换的方式,如: Getmaxdouble(53.2,60); 也可以在定义的时候声明返回类型 templateclass T1,double T2,返回double 模版的作用: 模版是泛型编程的基础,所谓泛型编程就是用独立与任何特定类型的方式去编写代码。模版的作用不仅仅在于此,用户还可以开发出具有健壮性和高性能的类库。 关于模版的内容,需要了解的还有很多,它们构成了C++语言内的一个子语言。 基于模版的元编程简介:(仅做了解) 元编程是运行于编译期间的C++程序的过程。模版元程序则表示“可以编程序的‘程序’”。利用模版元编程可以实现其他方法很难或不能完成的一些任务:讲工作转移到编译期间,使得程序更高效,更环保节能。 下面看一段代码: 1、计算Fibonacci数列: 使用模版元编程求整数n的阶乘: 模版在链表中的应用: 下面来看示例:

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档