- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
例7-2 编写一个函数模板,对一维数组进行排序。(续) * int?main() {???? ??int????i; ??int????x[10]={3,9,4,0,43,8,1,23,32,45}; ??float????y[6]={2.43,?-3.314,?9.31,?0,?34.2,?8.32}; ??char????z[?]={international}; ??sort(x,?10); ??sort(y,?6); ??sort(z,?strlen(z));? ??cout10个整数排序:; ??for(i=0;i10;i++) ???????coutx[i]?; ??coutendl; ??cout6个小数排序:; ??for(i=0;i6;i++) ???????couty[i]?; ??coutendl; ??cout一串字符排序:zendl; return?0; } 运行结果: 10个整数排序: 0?1?3?4?8?9?23?32?43?45 6个小数排序: -3.3 14?0?2.43?8.32?9.31?34.2 一串字符排序: aaeiilnnnortt 7.2.2 函数模板与模板函数 1.函数模板与模板函数的区别 例7-1中的Max(i1,i2,i3)、Max(f1,f2,f3)和Max(c1,c2,c3)都是模板函数,它们是重载的。函数模板实例化后会变成多个模板函数。 区别如下: (1)函数模板不是一个函数,而是将一组函数抽象出来的模板,在定义中使用了参数化类型; (2)模板函数是一种实实在在的函数,可以进行编译和连接,生成目标代码。 * 2.函数模板的异常处理 * 当实例化模板形参的各模板实参之间不完全一致时,就可能发生错误。 templatetypename?T void?min(T?x,?T?y) {??return?(xy)?x:y;??} void?func(int?i,?char?j) { ????min(i,?i); ????min(j,?j); ????min(i,?j); ????min(j,?i); } ?min(i,int( j));??? ?min(j,char(i)); 7.3 类 模 板 7.3.1 类模板的定义和使用 例如,声明两个类,分别用来比较整数和浮点数的大小。 * class?Compare_int { private: ????int??x,y; public: ????Compare_int(int??a,int?b)?//构造函数 ???????{????x=a;?y=b;????} ????int?max() ???????{????return?(xy)?x:y;????} ????int?min() ???????{????return?(xy)?x:y;????} }; class????????Compare_float { private: ????float????????x,y; public: ????Compare_float(float?a,float?b)??????????? {????x=a;y=b;????} ????float?max() ???????{????return?(xy)?x:y;????} ????float?min() ???????{????return?(xy)?x:y;????} }; 7.3.1 类模板的定义和使用 类模板的一般定义格式如下: template??class?T class?类名 { }; 说明: (1)template是定义类模板的关键字,总是放在模板定义和声明的最前面。 (2)class T必须用尖括号“”括起来,T为类型参数,被替换为某种实际的数据类型(例如,int、char、float等)从而实现一类多用。 (3)类的定义方式与之前讲到的类的定义类似。 (4)类模板是对一组类的抽象,某一个类是对类模板的实例化。 7.3.1 类模板的定义和使用 在声明了一个类模板后,如何使用它,又如何生成一个具体的对象? 类模板名实际类型名????????对象名(参数表); 例7-3 编写一个类模板,比较两个整数、浮点数和字符数据的大小。 #includeiostream using?namespace?std; template?class?T?????????????????//声明类模板,虚拟类型名为T class?Compare??????????????????????//类模板名为Compare { private: ????T?x,y;?????????????????????????//数据类型暂
您可能关注的文档
- Android应用程序开发与典型案例监听系统开关机.ppt
- Android应用程序开发与典型案例静态注册.ppt
- Android应用程序开发与典型案例使用HttpClient.pptx
- Android应用程序开发与典型案例有序广播.ppt
- Android应用程序开发与典型案例主界面框架搭建.pptx
- ASIC设计理论与实践-第3章.ppt
- AutoCAD2016机械设计教程课件项目1-直线要素构成的平面图形绘制-出版社.ppt
- AutoCAD2016机械设计教程课件项目2-圆要素构成的平面图形绘制-出版社.ppt
- AutoCAD2016机械设计教程课件项目3-多要素构成的平面图形绘制-出版社.ppt
- AutoCAD2016机械设计教程课件项目4-均布及对称结构图形的绘制-出版社.ppt
- 浙江省温州市浙南名校联盟2025-2026学年高一上学期期中联考数学试题含解析.docx
- 26高考数学提分秘诀重难点34圆锥曲线中的定点、定值、定直线问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点35概率与统计的综合问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点31圆锥曲线中的切线与切点弦问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点30圆锥曲线中的弦长问题与长度和、差、商、积问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点29巧解圆锥曲线的离心率问题(举一反三专项训练)(全国通用)(含解析).docx
- 26高考数学提分秘诀重难点28直线与圆的综合(举一反三专项训练)(全国通用)(含解析).docx
- 寡核苷酸药物重复给药毒性研究技术指南.docx
- 重组溶瘤腺病毒生产质量管理标准.docx
- 26高考数学提分秘诀重难点27直线与圆中常考的最值与范围问题(举一反三专项训练)(全国通用)(含解析).docx
有哪些信誉好的足球投注网站
文档评论(0)