- 8
- 0
- 约1.83千字
- 约 10页
- 2018-03-04 发布于河南
- 举报
第二章string对象
第二章 从结构到类的演变 使用string对象 使用string类必须包含头文件 #includestring 初始化: string str=“A”; // string str=‘A’; #includeiostream #includestring using namespace std; void main() { string str1(“We are here!”); string str2=“where are you?”; coutstr1[0]str1[11]“,”str1endl; coutstr2[0]str2[13]“,”str2endl; cout“str1 length is”str1.size(); cout“str2 length is”str2.size(); } 对象名称.substr(参数1,参数2) 参数1:要截取子串在字符串中的位置 参数2:截取的长度 例:string str1=“we are here!”; string newstr1=str1.substr(3,3); string newstr2=newstr1.substr(2,8); 对象名称.find(要查找的字符串,开始查找的位置); 返回要查找的字符串在主串中的位置。 例:string str1=“we are here!” int i=str1.find(“are”,0); 例如:日期格式转换 例:将美国日期May 28 , 2002转换国际格式28 May 2002 解 string Date=“May 28 , 2002”; (1)寻找月份 i=Date.find(“ ”,0); string month=Date.substr(0,i); (2)寻找日子 K=Date.find(“,”,i+1); string day=Date.substr(i+1,k-(i+1)); (3)寻找年 string year=Date.substr(K+2,4); (4)按照新格式进行拼装 上机验证例题2.9 使用complex对象 必须包含头文件 #includecomplex Complex类是一个模板类,可以定义多种数据类型的复数。 定义格式: complex数据类型对象名(实部值,虚部值); 例 complexintnum1(2,3); complexdoublenum2(3.5,4.5); complex的real和imag成员函数可以输出复数对象的实部和虚部的值。 例 coutnum1.real( )num1.imag ( )endl; 验证 例2.10 String对象数组和泛型算法 泛型算法同样适用于string类 String对象之间可以直接赋值。 不要将string类本身的find成员函数和泛型算法中的find函数混淆。 #includeiostream #includestring #includealgorithm void main() { string str1=“we are here!”,str2=str1; reverse(str1[0],str1[0]+12); cout str1endl; copy(str1[0],str1[0]+12,str2[0]); coutstr2endl; } String类有一对用于指示其元素位置的基本成员函数: 指示第一元素的begin 指示最后一个元素之后的字符结束标志end 如果当前begin不等于end,算法先作用于begin所指元素,并将begin前进一个位置,然后作用于当前begin所指元素,如此进行。 验证例题2.12 练习 P48 三、编程题 * * 操作: string() 构造函数 find() 查找函数 size() 求长度函数 substr() 求字串函数 属性 str 类名 string *
原创力文档

文档评论(0)