




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C+程序设计程序设计 string(字符串类)(字符串类)vector(容器类)(容器类)2 string对象的定义和初始化对象的定义和初始化为了在程序中使用为了在程序中使用string类型,必须包含类型,必须包含string头文件头文件,并导入,并导入名字空间,如下:名字空间,如下:#include using namespace std;string 类对象的定义和初始化类对象的定义和初始化string s1;/ 默认初始化,对象默认初始化,对象s1是个空字符是个空字符string s2=hello; /复制初始化复制初始化string s3(kitty); / 直接初始化直接初始化str
2、ing s4=s2; /复制复制s2的值到对象的值到对象s33 string对象的输入输出对象的输入输出【例例 3.1】string对象的输入和输出操作。对象的输入和输出操作。#include #include using namespace std;int main( ) string s1, s2;/ 定义定义s1、s2,并初始化,并初始化s1、s2为空字符串为空字符串 / 依次读取字符串一赋给依次读取字符串一赋给s1,字符串二赋给,字符串二赋给s2 cin s1 s2;/ 输入输入 hello world cout s1 s2 endl;/ 输出输出s1和和s2 return 0;4st
3、ring对象的操作对象的操作1.string的大小和容量函数的大小和容量函数一个一个C+字符串存在字符串存在3种大小,相应的函数分别是:种大小,相应的函数分别是:l函数函数size( )和和length( )等价,都返回等价,都返回string对象中字符个数。对象中字符个数。函数函数empty( )判断字符串是否为空,判断字符串是否空也可判断字符串是否为空,判断字符串是否空也可以利用函数以利用函数size( )或者或者length( ),将长度与,将长度与0比较;比较;5string对象的操作对象的操作string的大小和容量函数的使用。的大小和容量函数的使用。#include #includ
4、e using namespace std;int main( ) string s(Hello World!); / s初始化为初始化为Hello World!cout s.length( ) endl;/访问对象的成员用访问对象的成员用.操作符操作符cout s.size( ) endl;if ( s.empty( ) ) cout s 是空串是空串 endl;else cout s 长度是长度是 s.size( ) endl;return 0;6string对象的操作对象的操作2.string关系运算关系运算string类定义了常见的关系运算符(类定义了常见的关系运算符(=、!=、=),
5、),关系运算符比较两个关系运算符比较两个string对象时采用大小写敏感的字典序策对象时采用大小写敏感的字典序策略。略。例如:例如:string subStr = Hello;string phrase = Hello World;string str = Hi;如果两两比较,则如果两两比较,则subStrsubStr,strphrase。 7string对象的操作对象的操作string对象的赋值可使用操作符运算符对象的赋值可使用操作符运算符=,如:,如:string strTo, strFrom(hello);strTo = strFrom;strFrom =C+;3.string对象的赋值
6、对象的赋值8string对象的操作对象的操作4.string对象相加对象相加相加指字符串连接相加指字符串连接,支持,支持string对象和对象和string对象、对象、string对象对象与与const char*对象、对象、string对象与对象与char对象,可以通过使用加对象,可以通过使用加运算符(运算符(+)或复合赋值运算符()或复合赋值运算符(+=)连接,结果生成一个)连接,结果生成一个新新的的string对象对象,例如,例如string s1(Hello );string s2(Worldn);下面通过加法生成新的下面通过加法生成新的string对象:对象:string s3 =
7、s1 + s2; / s3是:是:Hello Worldn, string + stringstring s4 = s1 + Kitty;/ s4是:是:Hello Kitty string + 字符串字面值字符串字面值9string对象的操作对象的操作5.string对象的字符元素存取对象的字符元素存取string类型支持通过类型支持通过下标运算符下标运算符 访问其中的字符元素,访问其中的字符元素,下标下标运算符运算符 ,string对象的对象的下标从下标从0开始开始,如果,如果s是一个是一个string对对象且象且s不空,则不空,则s0就是字符串的第一个字符,就是字符串的第一个字符,s1就
8、表示第二就表示第二个字符,而个字符,而ss.size( )-1则表示则表示s的最后一个字符。的最后一个字符。 例例string s1(Hello);couts10s1s1.size()-1endl; /输出输出Ho10标准库标准库vector类型类型vector称为称为容器容器,格式是将数据类型放在,格式是将数据类型放在vector后面的尖括号后面的尖括号中,例如:中,例如:vector ivec; / ivec可存取可存取int类型的元素类型的元素vector svec; / svec可存取可存取string类型元素类型元素vector dvec; / dvec可存取可存取double类型元
9、素类型元素为了在程序中使用为了在程序中使用vector类型,必须包含类型,必须包含vector头文件头文件,并导,并导入名字空间,如下:入名字空间,如下:#include using namespace std;vector ivec;11vector对象的定义和初始化对象的定义和初始化 1. vector iv1;创建一个空创建一个空vector,用来存储整型数据,用来存储整型数据2. vector iv2(10, -1);创建一个包含创建一个包含10个个int类型数据的类型数据的vector,每个元素都初始,每个元素都初始化为化为-1;vector sv1(10, hi!);创建一个包含创
10、建一个包含10个个string类型数据的类型数据的vector,每个元素都初,每个元素都初始化为始化为hi!。12vector对象的定义和初始化对象的定义和初始化4. vector v4(n)创建一个包含创建一个包含n个个T类型类型数据的数据的vector对象,对象,vector中元素的初中元素的初始化,取决于始化,取决于vector中存储的元素的数据类型,如果中存储的元素的数据类型,如果vector保保存基本数据类型的元素(如存基本数据类型的元素(如int、float),则用),则用0初始化每个元素。初始化每个元素。vector fvec(10); / 10个元素,初始化为个元素,初始化为0
11、3. vector v2(v1) 或或 vector v2=v1利用一个已经存在的对象来初始化利用一个已经存在的对象来初始化如如:vector iv1(10,-1);vector iv2(iv1); / 通过从通过从iv1复制元素来创建复制元素来创建iv2vector iv3=iv1; / 通过从通过从iv1复制元素来创建复制元素来创建iv313vector对象的操作对象的操作1.vector的大小和容量函数的大小和容量函数vector的的empty( )和和size( )函数与函数与string类似,类似,size( )返回元返回元素的个数。素的个数。如:如:vector iv1(10, -
12、1);coutThe size of iv1: iv1.size()endl; /输出:输出: The size of iv1: 10142.向向vector中添加元素中添加元素vector对象的操作对象的操作push_back( )函数将一个新元素添加到函数将一个新元素添加到vector对象的后面,也对象的后面,也就是就是“尾插尾插”。例:例:string word=Hello Kitty;/ 定义一个定义一个string类对象并初始化类对象并初始化vector svec;/ 定义一个空定义一个空vectorsvec.push_back(word);/ word尾插到尾插到svec中中15v
13、ector对象的操作对象的操作3.vector的下标操作的下标操作vector支持通过支持通过下标运算符下标运算符 访问元素,下标从访问元素,下标从0开始,如果开始,如果ivec是一个是一个vector对象且对象且ivec不空,则不空,则ivec0就是就是ivec的的第一个字符,第一个字符,ivec1表示第二个字符,表示第二个字符,ivecivec.size( )-1表表示示ivec的最后一个元素。的最后一个元素。 4.删除删除vector中的元素中的元素pop_back( ):功能是删除功能是删除vector中最后一个元素中最后一个元素16vector对象的操作对象的操作#include #include using namespace std;int main( ) vector iv;iv.push_back( 1 ); / 填充填充iviv.push_back( 2 );
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 威海市古寨中学2025届初三下学期期终调研测试(一模)物理试题试卷含解析
- 河北省唐山市路北区达标名校2024-2025学年下学期学业水平监测期末联考初三生物试题含解析
- 昆明医科大学海源学院《高级生物统计与实践》2023-2024学年第二学期期末试卷
- 西北民族大学《通信电子电路》2023-2024学年第二学期期末试卷
- 农保服务工作 (广东梅州)
- 玻璃制品光学镀膜材料研究考核试卷
- 石棉水泥制品生产自动化控制系统考核试卷
- 环境友好型设计考核试卷
- 电影道具设计中的功能性与美观性平衡考核试卷
- 电动工具在飞机维修领域的效率改进考核试卷
- 2024年北京天文馆志愿者招募考试真题
- DBJ51-T 189-2022 四川省建设工程施工现场安全资料管理标准
- 起搏器植入术后突发肺栓塞病例
- 2025年交通控股集团招聘笔试参考题库含答案解析
- 充电站环境污染应急处理预案
- 2024版危险化学品重大危险源安全监控技术规范+解读
- 公积金房贷垫资协议书
- 纺织企业安全生产规程+纺织工业企业安全管理规范
- 民法典医疗损害解读
- 2024年10月自考04851产品设计程序与方法试题及答案含评分参考
- 养老项目案例研究-泰康之家北京燕园市场调研报告
评论
0/150
提交评论