模版技术-浅谈.doc_第1页
模版技术-浅谈.doc_第2页
模版技术-浅谈.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论