第五章类模板_第1页
第五章类模板_第2页
第五章类模板_第3页
第五章类模板_第4页
第五章类模板_第5页
已阅读5页,还剩19页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C++系列讲师:孙字鸣第七章类模板课程目标类模版的使用顺序容器关联容器类模板的使用类模板是用来生成类的蓝图的。与函数模板的不同之处是,编译器不能为类模板推断模板参数类型。为了使用类模板,必须在模板名后的尖括号中提供额外信息。类模板的使用定义类模板类模板以关键字template开始,后跟模板参数列表类模板的使用类模板的成员函数模板内部定义成员函数模板外部定义成员函数类模板的使用通过类模板生成对象练习设计一个工具类,该类可以实现任意数据的+,-,*,/包括基本数据类型包括类Point

有成员x,y*:x3=x1*x2y3=y1*y2/: x3=x1/x2y3=y1/y2练习设计一个类模板,实现任意类型的单向链表(添加,查看)顺序容器一个容器就是一些特定类型对象的集合。顺序容器为程序员提供了控制元素存储和访问顺序的分离。顺序不依赖元素的值,而是与元素加入容器时的位置相对应。顺序容器顺序容器类型vector:可变大小数组,支持快速随即访问,尾部外插入/删除慢deque:双端队列,支持快速随即访问,除头尾外插入/删除慢list:双向链表forward_list:单向链表array:固定数组大小,不能添加或删除元素string:与vector类型,专门用于保存字符。通常,使用vector是最好的选择,除非你有很好的理由选择其他容器顺序容器容器通用操作构造函数顺序容器迭代器介绍用于方法容器对象的元素,类似与指针使用迭代器使用begin方法获取第一个元素使用end方法获取尾元素下一位置类型string::iterator,vector<int>::iterator顺序容器Vector的遍历顺序容器vector的添加顺序容器Vector的删除练习有水果类,其成员有水果名,价格。要求1:能够通过键盘输入水果的信息,并将水果对象存入vector中要求2:能够对水果按照价格排序关联容器关联容器支持高效的关键字查找和访问。两个主要的关联容器(associativi-container)类型是map和setmap:以键值对(key-value)作为元素。键作为索引,值表示索引对应对数据set:每个元素只包含一个键,支持高效关键字查询操作,检查关键字是否在set中。关联容器按键有序保存元素map

保存键值对set 键即是值,值保存键对

关联数组;容器multimap

键可以重复的mapmultiset

键可以重复的set无序集合unordered_map 用哈希函数组织的map

unordered_set 用哈希函数组织的setunordered_multimap 哈希组织的map;键可以重复

unordered_multiset 哈希组织的set;键可以重复map的使用向map添加元素insert的返回值map的使用map的下标操作map的使用map的遍历EX输入一串字符串,使用map统计各个字符出现的个数(按照字符的ASCII逆序存入),并输出

map的删除

练习输入一串字符串,使用set统计各个

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论