C++类模板与STL编程.ppt

C++类模板与STL编程.ppt

ID:48142974

大小:427.00 KB

页数:54页

时间:2020-01-17

C++类模板与STL编程.ppt_第1页
C++类模板与STL编程.ppt_第2页
C++类模板与STL编程.ppt_第3页
C++类模板与STL编程.ppt_第4页
C++类模板与STL编程.ppt_第5页
资源描述:

《C++类模板与STL编程.ppt》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、第10章类模板与STL编程C++语言程序设计教程第10章类模板第10章类模板学习目标理解类模板的概念;掌握类模板的定义、实例化过程,会运用类模板;掌握栈类模板、链表类模板的使用;理解STL编程的基本思想;掌握STL容器的使用;熟练使用STL算法;理解STL函数对象;C++语言程序设计教程第10章类模板C++语言程序设计教程第10章类模板10.1类模板模板是C++语言的重要特征,它能够显著提高编程效率。利用C++的函数模板和类模板,能够快速建立具有类型安全的类库集合和函数集合,进行大规模软件开发,并提高软件的通用性和灵活性。C++的标

2、准模板库(standardtemplatelibrary,简称STL)编程完全依赖模板的实现。类模板是能根据不同参数建立不同类型成员的类。类模板中的数据成员、成员函数的参数、成员函数的返回值可以取不同类型,在实例化成对象时,根据传入的参数类型,实例化成具体类型的对象。类模板也称模板类。类模板定义的语法为:其中:template为模板关键字。模板参数表中的类型为参数化(parameterized)类型,也称可变类型,类型名为class(或typename);模板参数表中的类型也可包含普通类型,普通类型的参数用来为类的成员提供初值。类模

3、板中的成员函数可以是函数模板,也可以是普通函数。C++语言程序设计教程第10章类模板1.类模板的定义template<模板参数表>class类名{成员名;};例如,下面定义了一个模板类Student,为了增强类的适用性,将学号设计成参数化类型,它可以实例化成字符串、整型等;将成绩设计成参数化类型,它可以实例化成整型、浮点型、字符型(用来表示等级分)等;C++语言程序设计教程第10章类模板1.类模板的定义template//TNO,TScore为参数化类型classStuden

4、t{private:TNOStudentID[num];//参数化类型数组,存储姓名TScorescore[num];//参数化类型数组,存储分数public:TNOTopStudent()//普通函数{returnStudentID[0];}intBelowNum(TScoreascore)//函数模板{return0;}voidsort()//普通函数{}};模板类的成员函数还可以在类外定义,其语法如下::其中:模板参数表与类模板的模板参数表相同。模板参数名表列出的是模板参数表中参数名,顺序与模板参数表中的顺序一致。C++语言程

5、序设计教程第10章类模板1.类模板的定义template<模板参数表>类型类名<模板参数名表>∷函数名(参数表){函数体;}模板类的成员函数还可以在类外定义,其语法如下:C++语言程序设计教程第10章类模板1.类模板的定义template<模板参数表>类型类名<模板参数名表>::函数名(参数表){函数体;}其中:模板参数表与类模板的模板参数表相同;模板参数名表列出的是模板参数表中参数名,顺序与模板参数表中的顺序一致;例如,模板类Student的成员函数在类外实现如下:模板类Student的成员函数在类外实现如下:template

6、lassTNO,classTScore,intnum>classStudent{private:TNOStudentID[num];TScorescore[num];public:TNOTopStudent();intBelowNum(TScoreascore);voidsort();};templateintStudent::BelowNum(TScoreascore){return0;}template

7、re,intnum>voidStudent::sort(){}templateTNOStudent::TopStudent(){returnStudentID[0];}一个类模板是具体类的抽象,在使用类模板建立对象时,才根据给定的模板参数值实例化(专门化)成具体的类,然后由类建立对象。与函数模板不同,类模板实例化只能采用显式方式。类模板实例化、建立对象的语法如下:C++语言程序设计教程第10章类模板2.类模板的实

8、例化类模板名<模板参数值表>对象1,对象2,…,对象n;其中:模板参数值表的值为类型名,类型名可以是基本数据类型名,也可以是构造数据类型名,还可以是类类型名。模板参数值表的值还可以是常数表达式,以初始化模板参数表中普通参数。模板参数值

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

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

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