欢迎来到天天文库
浏览记录
ID:39572191
大小:25.50 KB
页数:3页
时间:2019-07-06
《模版技术-浅谈》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C++模板技术模版介绍:模版(Template)是根据参数类型生成函数和类的机制,是C++最强大的特征之一,通过使用模版,可以设计一个类来处理多种类型的数据,而不必为每一种类分别创建类。这样的好处是使程序更加简洁,更有效率。C++中的模板提供了重用源代码的方法C++中重用源代码有三种方法:继承和组合方法实现了对象代码重用包容器方法不同类型代码重用参数代类型(模板)源代码重用本节包含以下内容:类模版函数模版模版的实例化模版的作用基于模版的元编程1、模版的概念:示例1:intgetmax(intx,inty){Return(x>y?x:y);}floatgetmax(floatx,f
2、loaty){Return(x>y?x:y);}chargetmax(charx,chary){Return(x>y?x:y);}该例利用了重载技术,若传参类型不同,则调用不同的带参类型的函数。若使用模版技术,就可以只定义一个函数。templatemytypegetmax(mytypex,mytypey){return(x>y?x:y);}下面我们来演示一下这段程序:二、类模版的定义:一般定义形式如下:template<类型形式参数表>classClassName{//类声明体}template<类型形式参数表>返回类型ClassName<类型名表>::
3、MemberFunction(形式参数表){//成员函数体}类模版示例templateClassTmp{Private:Tvalues[2)]}Public:Tmp(Tx,Ty){Values[0]=x;Values[1]=y;}};下面来看例1-3;三、类模版和模版类的区别:一般形式:template<类型形式参数表>返回类型Function(形式参数表){//成员函数体}函数模版的示例1-4:由于传递的实参类型不尽相同,为避免二义性,可以如下定义:Template若在使用过程中碰到从某数据类型强制截取到另一种类型,可以采取强制
4、转换的方式,如:Getmax(53.2,60);也可以在定义的时候声明返回类型template,返回double二、模版的作用:模版是泛型编程的基础,所谓泛型编程就是用独立与任何特定类型的方式去编写代码。模版的作用不仅仅在于此,用户还可以开发出具有健壮性和高性能的类库。关于模版的内容,需要了解的还有很多,它们构成了C++语言内的一个子语言。三、基于模版的元编程简介:(仅做了解)元编程是运行于编译期间的C++程序的过程。模版元程序则表示“可以编程序的‘程序’”。利用模版元编程可以实现其他方法很难或不能完成的一些任务:讲工作转移到编
5、译期间,使得程序更高效,更环保节能。下面看一段代码:1、计算Fibonacci数列:2、使用模版元编程求整数n的阶乘:六、模版在链表中的应用:下面来看示例:
此文档下载收益归作者所有