吴乃陵全套配套课件C程序设计第2版 第六章.ppt

吴乃陵全套配套课件C程序设计第2版 第六章.ppt

ID:51971938

大小:695.00 KB

页数:80页

时间:2020-03-26

吴乃陵全套配套课件C程序设计第2版 第六章.ppt_第1页
吴乃陵全套配套课件C程序设计第2版 第六章.ppt_第2页
吴乃陵全套配套课件C程序设计第2版 第六章.ppt_第3页
吴乃陵全套配套课件C程序设计第2版 第六章.ppt_第4页
吴乃陵全套配套课件C程序设计第2版 第六章.ppt_第5页
资源描述:

《吴乃陵全套配套课件C程序设计第2版 第六章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第六章模板与数据结构模板是建立通用的与数据类型无关的算法的重要手段,在学习与数据结构相关的表、排序与查找的知识和算法时,要逐步熟悉函数模板和类模板的编程方法。第六章模板与数据结构6.1模板6.5函数指针与指针识别(选读)6.4模板与类参数用UML类图表示模板6.2排序与查找6.3索引查找与指针数组6.1模板参数化程序设计:通用的代码就必须不受数据类型的限制,可以把数据类型改为一个设计参数。这种类型的程序设计称为参数化(parameterize)程序设计。这种设计由模板(template)完成。包括函数模板(functiontemplate)和类模板(

2、classtemplate)。6.1.2类模板与线性表6.1.1函数模板及应用6.1.1函数模板及应用<模板参数表>(templateparameterlist)尖括号中不能为空,参数可以有多个,用逗号分开。模板参数主要是模板类型参数。模板类型参数(templatetypeparameter)代表一种类型,由关键字class或typename(建议用typename)后加一个标识符构成,在这里两个关键字的意义相同,它们表示后面的参数名代表一个潜在的内置或用户定义的类型。函数模板用来创建一个通用函数,支持多种不同类型形参。函数模板定义:template

3、<模板参数表>返回类型函数名(形式参数表){……;}//函数体6.1.1函数模板及应用【例6.1】用函数模板求数组元素中最大值templateGroapmax(constGroap*r_array,intsize){inti;Groapmax_val=r_array[0];for(i=1;imax_val)max_val=r_array[i];returnmax_val;}类型参数Groap在程序运行中会被各种内置(基本)类型或用户定义类型所置换。模板参数表的使用与函数形式

4、参数表的使用相同,都是位置对应。类型和值的置换过程称为模板实例化(templateinstantiation)。形参size表示r_array数组的长度。6.1.1函数模板及应用模板实参推演:函数模板根据一组实际类型或(和)值构造出独立的函数的过程通常是隐式发生的,称为模板实参推演(templateargumentdeduction)。下面完成【例6.1】intia[5]={10,7,14,3,25};doubleda[6]={10.2,7.1,14.5,3.2,25.6,16.8};stringsa[5]={"上海","北京","沈阳","广州",

5、"武汉"};intmain(){inti=max(ia,5);cout<<"整数最大值为:"<

6、double数组。都被用来决定每个实例的模板参数。该过程称为模板实参推演。当然也可以显式指定(explicitlyspecify),如:i=max(ia,5);d=max(da,6);s=max(sa,5);这样可读性更好。这里数组名是作为指向数组首元素的指针进行传递,数组长度是由size参数进行传递的。模板实参推演过程:6.1.1函数模板及应用在main()函数中,由调用函数模板(functiontemplate)而生成的函数,称为模板函数(templatefunction)。这两个概念须分清楚。函数模板与

7、模板函数:【例6.2】矩阵运算:矩阵转置与矩阵相乘函数模板。下标作为参数传递。解决例5.5程序的通用性问题。6.1.1函数模板及应用请注意:与函数声明不同,函数模板的声明必须含变量名。因为两者编译过程不一样,函数模板必须先转换为模板函数。templatevoidinverse(T1*mat1,T2*mat2,inta,intb);templatevoidmulti(T1*mat1,T2*mat2,T2*result,inta,intb,intc);templa

8、tevoidoutput(T*mat,char*s,inta,intb);注意:mat

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。