- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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的阶乘:
模版在链表中的应用:
下面来看示例:
您可能关注的文档
最近下载
- 防腐、保温施工方案.docx VIP
- (完整版)沟槽开挖及支护专项施工方案(深基坑专家论证).doc
- 4.1 水循环(教案)2023-2024学年湘教版(2019)高中地理必修一.docx VIP
- EIM Book 1 Unit 1 Free time单元检测试题.pdf VIP
- 金风1.5MW型风机变流器断路器反馈丢失故障作业指导书.docx VIP
- 信息与通信技术产品供应链安全测试方法.docx VIP
- 高中必备成语及解释800个.docx VIP
- 公差配合与测量技术 第2版 项目三 千分尺与指示表的测量操作.pptx VIP
- 金风1.5MW型风机主控柜断路器状态反馈丢失故障作业指导书.docx VIP
- 第2课学会沟通交流(教学课件) 道德与法治统编版五年级上册.ppt
文档评论(0)