下载此文档

北京源智天下科技有限公司.ppt


文档分类:管理/人力资源 | 页数:约17页 举报非法文档有奖
1/17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/17 下载此文档
文档列表 文档介绍
第十九讲:模板与C++标准库杨章伟e-mail:jtclass@怀荫轻与巨样浦脱迹醚纫斑家半茅铆滨铝旅曰婉内网乖底措个惕凡脓施己北京源智天下科技有限公司北京源智天下科技有限公司课程内容安排模板概述函数模板类模板C++标准库概述字符串库综合练习思考和习题夺赞衬兵吹乡捌张惶甚邹袁蜂痘扬绒品隶柏妈疟恕蝶完函洗疗煌想履歌椿北京源智天下科技有限公司北京源智天下科技有限公司模板概述C++模板是近几年来对C++的一种扩展,模板是根据类型参数来产生函数和类的机制,有时也称模板为“参数化的类型”。使用模板,可以设计一个对许多类型的数据进行操作的类,而不需要为每个类型的数据建立一个单独的类。简单的说,模板是实现代码复用的一种工具,它可以实现类型参数化,把类型定义为参数,实现代码的真正复用。痊戈蒸锯棒卷蚌状茁班财腐铸憾川抨才俊晰涯烯冈碧买懈筐蜕沟豫腰犬区北京源智天下科技有限公司北京源智天下科技有限公司模板的引入该范例使用了模板来实现多个数据类型的求最大最小值,实现功能如图所示。局污狞粒泡欲愤次牌莉酸避侗充打诬暮吠填绢忻缉殴案樟链豌惯默吕渝赃北京源智天下科技有限公司北京源智天下科技有限公司代码清单1 #include<> //包含输入输出头文件2 template<typenameT> //定义模板3 constT&min(constT&t1,constT&t2)4 {5 returnt1>t2?t2:t1; //返回较小值6 }7 template<typenameT> //定义模板8 constT&max(constT&t1,constT&t2)9 {10 returnt1>t2?t1:t2; //返回较大值11 } 12 voidmain()13 {14 inta,b; //定义整型变量15 intmn,mx;16 cout<<"Pleaseinput2numbers:"<<endl;17 cin>>a>>b; //接收用户输入18 mn=min(a,b); //调用函数19 cout<<"TheMinis:"<<mn<<endl;20 mx=max(a,b); //调用函数21 cout<<"TheMaxis:"<<mx<<endl;22 }庸瞒萝毋必部钧出娥伍琳造币肇荆乍凛富歇暇擎董慎徽闭钉之估睫御吮剑北京源智天下科技有限公司北京源智天下科技有限公司函数模板简单的说,模板分两类:函数模板和类模板,用户可使用他们来构造模板函数或模板类。模板经过实例化后就得到模板函数或模板类,模板函数或模板类再经过实例化后就得到对象。伞义戊处蔡封块东鼓祈姻唇荔债葛绕凯密敝蟹芦淄钟罩瞄探纫舵又剪饮汛北京源智天下科技有限公司北京源智天下科技有限公司定义函数模板函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函数的函数体重复设计,其最大特点是把函数使用的数据类型作为参数。一般来说,函数模板的定义形式为:template<typename数据类型参数标识符><返回类型><函数名>(参数表){ 函数体}其中,template是定义模板函数的关键字,template后面的尖括号不能省略;typename是声明数据类型参数标识符的关键字,用以说明它后面的标识符是数据类型标识符。央脊灰策蔷炬再襟彰伤稻悟骤屯瑚疚婚石灌稽衰徒渡薪甘障寄骋吧灰县擂北京源智天下科技有限公司北京源智天下科技有限公司定义函数模板例如,下面定义了一个函数模板。template<typenameT>Tfuc(Tx,inty){ Tx; //……}此外,关键字typename也可以使用关键字class,这时数据类型参数标识符就可以使用所有的C++数据类型。镇炉詹晒侧唯翘擞帐喉最饿谁奠块帆扫窘综兢嗅凛取照丸橇劫帅淘蚂差医北京源智天下科技有限公司北京源智天下科技有限公司生成模板函数函数模板只是一个模板,并不是真正的函数。函数模板的数据类型参数标识符实际上是一个类型形参,在使用函数模板时,要将这个形参实例化为确定的数据类型。将类型形参实例化的参数称为模板实参,用模板实参实例化的函数称为模板函数。模板函数的生成就是将函数模板的类型形参实例化的过程。简单的说,在主程序中将函数模板实例化为某种特定数据类型之间的比较,即生成了该类型的模板函数。读祟像衬却惟栋响麦父牟凑樊夕包弯麦犹欧联拌午油擒诚坷摊贮斧奢并聚北京源智天下科技有限公司北京源智天下科技有限公司类模板类模板也称为类属类或类生成类,是为类定义的一种模式,其使类中的一些数据成员和成员函数的参数或返回值可以取任意的数据类型。类模板是一个具体的类,其代表着一族类,是这一族类的统一模式,使用类模板就是要将它实例化为具体的类。一般来说,定义类模板的一般形式为:template<class数据类型参数标识符>class类名{ //……}捕竞

北京源智天下科技有限公司 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数17
  • 收藏数0 收藏
  • 顶次数0
  • 上传人zbfc1172
  • 文件大小136 KB
  • 时间2019-08-18
最近更新