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

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

ID:46972482

大小:507.00 KB

页数:12页

时间:2019-12-02

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

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

1、第19章模板与C++标准库杨章伟e-mail:yang505412@163.com课程内容安排模板概述函数模板类模板C++标准库概述字符串库小结习题模板有程序设计语言基础的读者应该听说过模板的概念,事实上,在前面的章节中,就已经使用到了模板。模板是实现代码复用的一种工具,其有函数模板和类模板之分。此外,模板是现代C++程序设计中的一个重要概念,使用模板可大大减少代码数量,提高代码的效率。C++模板是近几年来对C++的一种扩展,模板是根据类型参数来产生函数和类的机制。使用模板可以设计一个对许多类型的数据进行操作的类,而不需要为每个类型的数据建立一个单

2、独的类。模板的引入简单地说,模板是实现代码复用的一种工具,它可以实现类型参数化,把类型定义为参数,实现代码的真正复用。【范例19-1】模板的引入。该范例使用了模板来实现多个数据类型的求最大最小值。函数模板模板分两类:函数模板和类模板,用户可使用它们来构造模板函数或模板类。模板经过实例化后就得到模板函数或模板类,模板函数或模板类再经过实例化后就得到对象。。函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函数的函数体重复设计,其最大特点是把函数使用的数据类型作为参数。一般来说,函数模板的定义形式为:template

3、据类型参数标识符><返回类型><函数名>(参数表){函数体}生成模板函数函数模板只是一个模板,并不是真正的函数。函数模板的数据类型参数标识符实际上是一个类型形参,在使用函数模板时,要将这个形参实例化为确定的数据类型。将类型形参实例化的参数称为模板实参,用模板实参实例化的函数称为模板函数。模板函数的生成就是将函数模板的类型形参实例化的过程。【范例19-2】生成模板函数。该范例将上述模板函数实例化为浮点型的模板函数。类模板类模板也称为类属类或类生成类,是为类定义的一种模式,它使类中的一些数据成员和成员函数的参数或返回值可以取任意的数据类型。类模板是一个

4、具体的类,它代表一族类,是这一族类的统一模式,使用类模板就是要将它实例化为具体的类。一般来说,定义类模板的一般形式为:templateclass类名{//……}C++标准库概述一般来说,C++标准可分为两部分:C++语言本身和C++标准库。由于ANSIC++的标准未定,因此随着ANSIC++标准推出的C++标准库相对于VisualC++是比较新。标准库提供了标准的输入/输出、字符串、容器(如矢量、列表和映射等)、非数值运算(如排序、搜索和合并等)和对数值计算的支持。字符串库C++标准库包含内容很多,但由于字符串在程序

5、设计中的重要性,本节将单独对标准库中的字符串库(string库)做具体讲解。读写字符串字符串赋值字符串比较字符串长度和空字符串本章主要介绍了C++中的模板和标准库的相关内容。模板在实际程序中应用较为频繁,其具有宏所不具备的优势,可以提高代码的执行效率。模板分为函数模板和类模板两种,模板都是在实际程序中不能直接调用的,需要先将其生成模板函数和模板类才能使用。C++标准库是一个C++函数的仓库,包括前面介绍的STL。本章主要就标准库中的string字符串库做了重点介绍,对其中的字符串读写、赋值、比较和判断为空等的函数通过示例进行了讲解。小结1.编写一个

6、程序,通过函数模板的声明和模板函数的生成,实现不同数据类型数值的交换。【解答】该试题主要考查函数模板的相关内容。该程序段要求实现不同数据类型数值的交换,就必须定义函数模板,在模板中完成交换功能,并在主函数中分别对该模板进行整型实例化和浮点型实例化,从而实现交换的目的。2.编写一个使用类模板对数组进行排序、查找和求元素和的程序。【解答】该试题可以设计一个类模板templateclassArray,用于对T类型的数组进行排序、查找和求元素和,然后由此产生模板类Array和Array。习题习题3.分析以下程序的执

7、行结果。#includetemplateclassSample{Tn;public:Sample(Ti){n=i;}voidoperator++();voiddisp(){cout<<"n="<voidSample::operator++(){n+=1;//不能用n++;因为double型不能用++}intmain(){Samples('a');s++;s.disp();}

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

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

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