《模板与C标准库》PPT课件

《模板与C标准库》PPT课件

ID:45546139

大小:371.34 KB

页数:17页

时间:2019-11-14

《模板与C标准库》PPT课件_第1页
《模板与C标准库》PPT课件_第2页
《模板与C标准库》PPT课件_第3页
《模板与C标准库》PPT课件_第4页
《模板与C标准库》PPT课件_第5页
资源描述:

《《模板与C标准库》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十九讲:模板与C++标准库课程内容安排模板概述函数模板类模板C++标准库概述字符串库综合练习思考和习题模板概述C++模板是近几年来对C++的一种扩展,模板是根据类型参数来产生函数和类的机制,有时也称模板为“参数化的类型”。使用模板,可以设计一个对许多类型的数据进行操作的类,而不需要为每个类型的数据建立一个单独的类。简单的说,模板是实现代码复用的一种工具,它可以实现类型参数化,把类型定义为参数,实现代码的真正复用。模板的引入该范例使用了模板来实现多个数据类型的求最大最小值,实现功能如图所示。代码清单1#include//包含输入输出头文件2tem

2、plate//定义模板3constT&min(constT&t1,constT&t2)4{5returnt1>t2?t2:t1;//返回较小值6}7template//定义模板8constT&max(constT&t1,constT&t2)9{10returnt1>t2?t1:t2;//返回较大值11}12voidmain()13{14inta,b;//定义整型变量15intmn,mx;16cout<<"Pleaseinput2numbers:"<>a>>b;//接收用户输入18mn=min(a,b);

3、//调用函数19cout<<"TheMinis:"<<

4、返回类型><函数名>(参数表){函数体}其中,template是定义模板函数的关键字,template后面的尖括号不能省略;typename是声明数据类型参数标识符的关键字,用以说明它后面的标识符是数据类型标识符。定义函数模板例如,下面定义了一个函数模板。templateTfuc(Tx,inty){Tx;//……}此外,关键字typename也可以使用关键字class,这时数据类型参数标识符就可以使用所有的C++数据类型。生成模板函数函数模板只是一个模板,并不是真正的函数。函数模板的数据类型参数标识符实际上是一个类型形参,在使用函数模板时,要将这个

5、形参实例化为确定的数据类型。将类型形参实例化的参数称为模板实参,用模板实参实例化的函数称为模板函数。模板函数的生成就是将函数模板的类型形参实例化的过程。简单的说,在主程序中将函数模板实例化为某种特定数据类型之间的比较,即生成了该类型的模板函数。类模板类模板也称为类属类或类生成类,是为类定义的一种模式,其使类中的一些数据成员和成员函数的参数或返回值可以取任意的数据类型。类模板是一个具体的类,其代表着一族类,是这一族类的统一模式,使用类模板就是要将它实例化为具体的类。一般来说,定义类模板的一般形式为:templateclass类名{//……}

6、模板类与模板函数的生成相似的,将类模板的模板参数实例化后生成的具体的类,就是模板类。由类模板生成模板类的一般形式为:类名<数据类型参数标识符>对象名1,对象名2,…,对象名n;此处的数据类型参数标识符对应的是对象实际需要的数据类型。C++标准库概述一般来说,C++标准可分为两部分:C++语言本身和C++标准库,C++标准库实现容器和算法的部分就是STL。C++标准库很大,在现在的情况下,C++标准库确实越来越好,因为大的库会包含大量的功能。标准库中的功能越多,开发自己的应用程序时能借助的功能就越多。C++标准库的组成简单的说,C++标准函数库为C++程序员们提供了一个可

7、扩展的基础性框架,用户从中可以获得极大的便利,同时也可以通过继承现有类,自己编制符合接口规范的容器、算法、迭代子等方式对之进行扩展。简单的说,C++标准库大致包含了如下几个组件:字符串库读写字符串字符串赋值字符串比较字符串长度和空字符串综合练习该实例通过函数模板的声明和模板函数的生成,实现不同数据类型数值的交换。代码清单1#include//包含输入输出头文件2template//声明模板函数,T为数据类型参数标识符3voidswap(T&x,T&y)//定义模板函数4{5Tz;//变量z可取

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

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

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