版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第七章类模板与向量,C+程序设计,2,本章主要内容,类模板向量与泛型算法,3,类模板,类与函数一样,当多个类之间只是数据类型不一样时,也可以通过模板的形式定义成一个特定的模板类。该类为需要不同的数据类型的类提供了统一的模板,即类模板。,4,类模板,类模板声明格式如下:templateclass类名.,模板参数可用作数据成员的类型、成员函数的参数类型、成员函数的返回值类型等,templateclassTestTx,y;public:Test(Ta,Tb)x=a;y=b;Tgetx()returnx;Tgety()returny;,5,类模板,类模板的对象创建对象时,显示的指定其数据类型,编译器就
2、用指定的数据类型替代模板参数产生相应的模板类格式如下:类名对象名(构造函数实参列表);Testtest1(15,30);,6,类模板,在类体外面定义成员函数时,必须重写类模板声明template返回类型类名:成员函数名(参数列表).参照P148【例7.2】,7,类模板,类模板也可以像普通类一样继承,继承的方法也一样。继承的基类与派生类既可以是模板类,也可以是普通类。模板类继承普通类参照P149【例7.4】模板类继承模板类参照P150【例7.5】,8,向量与泛型算法,向量:数组的大小是不能改变的,而向量中存储的元素多少可以在运行时根据需要动态的增长或缩小,向量是类模板向量类模板定义在头文件vec
3、tor中,提供了4种构造函数1.vectorname;定义空的向量表vectorA;2.vectorname(length);定义具有length个type的向量,初始化为0vectorB(20);3.vectorname(length,a);定义具有length个type的向量,初始化为avectorC(20,1);4.vectorname1(name);使用已定义的向量name构造新的向量name1vectorD(C);,9,向量与泛型算法,向量的第一个元素从0开始允许同类型的向量之间相互赋值,跟他们的长度无关不能直接使用列表初始化向量,可先定义一个数组,再把数组的内容复制给向量inta3
4、=1,2,3;vectorb(a,a+3);,10,向量与泛型算法,向量的数据类型可以是基本数据类型,也可以是构造类型,但必须符合构成规则参考P154【例7.7】【例7.8】,11,向量与泛型算法,向量具有指向第一个元素的标记begin()和指向结束的标记end()定义泛型指针vector:iterator泛型指针名;定义逆向泛型指针reverse_vector:reverse_iterator指针名;参考P153【例7.6】,12,向量的基本操作方法,访问向量容量信息的方法1.size()返回当前向量中对象的个数a.size();2.max_size()返回向量最多可以容纳多少个对象,取决于
5、硬件结构a.max_size();3.capacity()返回无需再次分配内存就能容纳的对象个数,初始值为最初申请的元素个数,当原来的空间存放满了之后,则在原来的基础上自动翻倍扩充a.capacity();以上三者的关系如下:max_size()=capacity()=size()4.empty()返回当前向量是否为空,若为空返回true值,即返回值为1,反之为0a.empty();,13,向量的基本操作方法,访问向量中对象的方法1.front()返回向量中的第一个对象a.front();2.back()返回向量中的最后一个对象a.back();3.operator(size_typen)返回向量中下标为n的向量元素a.operator(5);参照P156【例7.9】,14,向量的基本操作方法,在向量中插入对象的方法1.push_back(constT,15,向量的基本操作方法,在向量中删除对象的方法1.pop_back()删除向量中最后一个对象a.pop_back();2.erase(iterato
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026学年黑龙江省双鸭山市海林市五年级数学期末深度自测历年考试题详细参考解析详细答案和解析
- 2026学年湖南省涟源市四年级数学期末深度自测难点突破题(详细参考解析)详细答案和解析
- 2026年北京市怀柔区雁栖医院医护人员招聘笔试备考题库及答案解析
- 2026年上海市浦江镇卫生院医护人员招聘笔试备考题库及答案解析
- 2026年宜都市二医院医护人员招聘笔试备考题库及答案解析
- 2026学年河南省沁阳市四年级数学期末模考精准押题卷(详细参考解析)详细答案和解析
- 2026年重庆市北碚区社区康复医院医护人员招聘笔试备考题库及答案解析
- 2025年上海市崇明县中心医院医护人员招聘笔试试题及答案详解
- 车用永磁同步电机控制建模与实验研究:理论、实践与性能优化
- 2026年中铁十八局集团有限公司中心医院医护人员招聘笔试备考题库及答案解析
- 2026年教师职业能力测评题库及答案
- 2026江苏苏州工业园区综合执法系统招聘工作人员20人考试参考试题及答案解析
- 2025年福建省福州市八年级地理生物会考真题试卷(含答案)
- 航空油料化验员职业能力考核复习题库(附答案)
- 2026江苏连云港市东海县事业单位统一招聘15人笔试参考题库及答案解析
- 油品储运调和操作工(技师)职业技能鉴定考试题及答案
- 环保行业财务分析特点报告
- 半导体厂务项目工程管理 课件 项目1 任务1.1半导体厂务项目工程管理概述
- 2025重庆市消防救援总队机关及直属单位政府专职消防员招录113人(公共基础知识)综合能力测试题附答案解析
- 四川省成都市2026届高二上期期末统一调研考试生物答案
- 漂浮式海底锚桩施工方案
评论
0/150
提交评论