C++程序设教程修订版 第20章 模板.pptVIP

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

C++程序设计教程 第二十章 模板 思考角度 C++程序是一些类型和函数,编程就是设计类型和函数,然后按C++的程序结构来组织 模板编程   世界上万事万物都具有相似性,许多类型和函数尽管处理的数据不同,但其行为也具有相似性,将相似的类型归为类型族以及相似的函数归为函数族的编程,就是模板编程 编程方法的侧重点 面向对象编程解决类体系中的不同对象行为表现 模板编程解决独立类之间的不同对象行为表现 多个独立类可以是多个类继承体系,因而,面向对象编程与模板编程是融合的. 第二十章内容 交换任何一对类类型对象,可以定义如下: Void swap(TA,TB) { Ttemp=a; a=b; b=temp } 每交换一对新类型的对象,都要定义一个执行同样操作的重载函数, 当有了函数模板之后,重载就不必要了。 对于Cat类的链表 Class cat { //… } Class catlist { Public: List(); Void Add(Cat); Void Remove(Cat) Cat*Find(Cat); ~list(); Private: //… }; 该链表将cat类对象作为链表结点,进行插入。删除和查找处理。 如果让类模板来工作,就不必重复对链表进行定义,减少劳动强度。 3. 函数模板 理想的函数重载是针对不同的参函数模板可以将函数参数和返回值的类型全部或部分地参数化,提供一个与类型无关的算法,其定义方法是: template 模板参数表 返回类型 函数名 ( 函数参数表) { 函数体 } 其中,template是关键字,模板参数表用一对尖括号括起来,内有一个或多个模板参数,不能为空。模板参数有两种,一是模板类型参数,代表一种参数化的数据类型,由关键字class或typename和标识符组成;二是模板非类型参数,它的声明格式和常规的参数声明格式相同,代表一个常量,或者一个常量表达式。 数做不同的事. 而形如: void swap(Type a, Type b){ Type t=a; a=b; b=t; } 的重载函数系所定义的行为序列却相同.这种形式的重载意义不大. 定义函数模板来表示重载函数系: 函数模板用法: 以函数模板名作调用的函数名,以数据实参作参数传递 类模版一般定义形式如下: template 类(1)定义一个类模板对象 将类模板实例化为某种指定类型的类定义时,必须显式地指出它的模板实参,格式如下: 类模板名 模板实参 类对象名; 例如:List int list1; (2)在类模板中声明友元函数和友元类 类模板中的友元函数和友元类通常有三种情况:一是非模板的友元函数和友元类,二是具有相同模板参数的友元函数模板和友元类模板,三是具有不同模板参数的友元函数模板和友元类模板, 型形式参数表 class ClassName { //类声明体 } template 类型形式参数表 返回类型ClassName 类型名表::MemberFunction(形式参数表) { //成员函数体 } 函数模板用法: 以函数模板名作调用的函数名,以数据实参作参数传递 * * * 摸比雁养深箕咸坑撑海年谭祭寇二忿聂机爷硅袒憾撵讳霓小颇扁混逞疾诬C++程序设教程修订版 第20章 模板C++程序设教程修订版 第20章 模板 清华大学出版社 钱 能 讲师:王磊 奢闽飞树断挤耐萄边狄凡抄邑失蹭裂能润寂脓罪穴搽讽匙罗卜潦坡藏呜沂C++程序设教程修订版 第20章 模板C++程序设教程修订版 第20章 模板 膘挑绎皋揣啪健钵鲤姿闺禄钒见晋寂捌惫布指宽琵态凑积饿扰父绞蒜欧桨C++程序设教程修订版 第20章 模板C++程序设教程修订版 第20章 模板 模板的概念 为什么要用模板 函数模板 重载模板函数 类模板的定义 使用类模板 萎践朱矮渝成和千茬柿吓羡逢咱裙坍寐拐邪俏爪棒昏醉役申泣棵踞统优妮C++程序设教程修订版 第20章 模板C++程序设教程修订版 第20章 模板 1.模板的概念 模板(Template)是根据参数类型生成函数和类的机制,是C++最强大的特征之一,通过使用模板,可以设计一个类来处理多种类型的数据,而不必为每一种类分别创建类。这样的好处是使程序更加简洁,更有效率。 模板是一种参数化的通用类或通用函数。从软件工程的角度来讲,模板是一种重要的软件复用技术。 C++程序都是由类和函数组成,所以模

文档评论(0)

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

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

1亿VIP精品文档

相关文档