c大作业字符串类解读_第1页
c大作业字符串类解读_第2页
c大作业字符串类解读_第3页
c大作业字符串类解读_第4页
c大作业字符串类解读_第5页
已阅读5页,还剩46页未读 继续免费阅读

下载本文档

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

文档简介

面向对象程序设计大作业------字符串类学院名称信息科学与工程学院专业班级数学类11-2学生姓名吴亚洲学号201101051327指导教师完成时间:年代日字符串类编程目的编写一个能完成标准库函数string类的主要功能的字符串类,使我们在不调用string类库函数的情况下正常使用string类的常用构造函数、操作符、常用成员函数以及特别输入输出的实现。系统简介系统共包括string类的28个常用构造函数、操作符、常用常用成员函数以及其他四个输入输出的实现。一、构造函数(1)string();其为默认构造函数,功能为建立一个长度为0的串。(2)string(conststring&rhs);其为复制构造函数,功能为将rhs的字符串复制给另string类的对象。(3)string(constchar*s);其功能为用指针s所指向的字符串常量初始化string类的对象。(4)string(conststring&rhs,unsignedintpos,unsignedintn);其功能为将对象rhs中的串从地址pos开始取n个字符,用来初始化string类的对象。注:串的第一个字符的地址为0。(5)string(constchar*s,unsignedintn)其功能为用指针s所指向的字符串中的前n个字符初始化string1类的对象。(6)string(unsignedintn,charc)其功能为将参数c中的字符重复n次,用来初始化string类的对象。二、string类的操作符+示例:s+t其功能为将串s和t连接成一个新串。=示例:s=t其功能为将t更新s。+=示例:s+=t其功能等价于s=s+t。==示例:s==t其功能为判断s与t可否相等。!=示例:s!=t其功能为判断s与t可否不同样。<示例:s<t其功能为判断s可否小于t。<=示例:s<=t其功能为判断s可否小于或等于t。>示例:s>t其功能为判断s可否大于t>=示例:s>=t2其功能为判断s可否大于或等于t。[]示例:s[i]其功能为接见串中下标为i的字符。三、常用成员函数(1)Stringappend(constchar*s);其功能为将字符串s增加在本串尾。(2)Stringappend(constchar*s);其功能为将s所指向的字符串赋值给本对象。(3)intcompare(conststring&str)const;其功能为比较本串与str中串的大小,当本串<str串时,返回负数;当本串>str串时,返回正数;两串相等时,返回0。(4)String&insert(unsignedintp0,constchar*s);其功能为将s所指向的字符串插入在本串地址p0从前。(5)Stringsubstr(unsignedintpos,unsignedintn)const;其功能为取子串,取本串中地址pos开始的n个字符,构成新的String类对象作为返回值。(6)unsignedintfind(constString&str)const;其功能为查找并返回str在本串中第一次出现的地址。(7)unsignedintlength()const;其功能为返回串的长度(字符个数)。(8)voidswap(string&str);其功能为将本串与str中的字符串进行交换。3四、特别输入输出(1)friendistream&operator>>(istream&cin,String&t)其功能为输入对象的字符串。(2)friendostream&operator<<(ostream&cout,constString&t)其功能为输出对象的字符串。(3)friendvoidgetline(istream&cin,String&t)其功能为输入对象的字符串。(4)friendvoidgetline(istream&cin,String&t,charas)其功能为输入对象的字符串,直到输入as字符时结束。编程思路经过利用char字符串过分来完成string类对象的所有操作,以及主要利用for、while循环来完成字符串之间的赋值以及字符串的长度、截取等。整体设计(附类图)利用多文件构造分别将类、类的实现、主函数放在三个不同样的文件里,以便其简单易懂、可分解。充分利用已知char种类的性质,经过char和循环体实现String类的各种string类常用字符串办理函数。利用构造函数的重载来实现String类的各种常用初始化。利用主函数和标准string类检验自己创立的类可否吻合string类的要求并改正。4类图String-s[MAXLEN]:char*-len:int+operator+(String&s11):String+operator=(String&s22):String&+operator+=(String&s33):String&+operator==(String&s44):bool+operator!=(String&s55):bool+operator<(String&s66):bool+operator<=(String&s66):bool+operator>(String&s77):bool+operator>=(String&s77):bool+operator[](inta):char&+append(constchar*s88):String+assign(constchar*s99):String+compare(constString&saa)const:int+insert(unsignedintpo,constchar*tt):String&+substr(unsignedintpos,unsignedintn)const:String+find(constString&str)const:unsignedint+length()const:unsignedint+swap(String&str):void要点技术说明经过成员函数和成员函数的重载,构造函数和构造函数的重载,友元函数,运算符的重载来完成所有string类的所有需完成成员函数。5源代码#ifndef__STRINGC_H__#define__STRINGC_H__#include<iostream>usingnamespacestd;constintMAXLEN=1000;classString{public:String();//1String(constString&rhs);//2String(char*ss);//3String(constString&rhs,unsignedintpos,unsignedintn);//4String(constchar*sbbb,unsignedintn);//5String(unsignedintn,charc);//6Stringoperator+(String&s11);//7String&operator=(String&s22);//8String&operator+=(String&s33);//9booloperator==(String&s44);//10booloperator!=(String&s55);//11booloperator<(String&s66);///12booloperator<=(String&s66);///13booloperator>(String&s77);//14booloperator>=(String&s77);//15char&operator[](inta);///16Stringappend(constchar*s88);///17Stringassign(constchar*s99);////18intcompare(constString&saa)const;////19String&insert(unsignedintpo,constchar*tt);//20Stringsubstr(unsignedintpos,unsignedintn)const;///21unsignedintfind(constString&str)const;//////22unsignedintlength()const;////23voidswap(String&str);///246friendistream&operator>>(istream&cin,String&t)////25{chara[1000];cin>>a;inti=0,j=0;while(a[i]){t.s[j++]=a[i];i++;}t.len=j;t.s[j]=0;returncin;}friendostream&operator<<(ostream&cout,constString&t)////26{cout<<t.s;returncout;}friendvoidgetline(istream&cin,String&t);////27friendvoidgetline(istream&cin,String&t,charas);/////28private:chars[MAXLEN];intlen;};#endif#include"stringc.h"#include<iostream>usingnamespacestd;String::String(){s[0]=0;len=0;}7String::String(constString&rhs)//2{inti=0;while(rhs.s[i]){s[i]=rhs.s[i];i++;}len=rhs.len;s[len]=0;}String::String(char*ss)//3{inti=0;while(ss[i]){s[i]=ss[i];i++;}len=i;s[len]=0;}String::String(constString&rhs,unsignedintpos,unsignedintn)//4{inti,j=pos;for(i=0;i<n&&rhs.s[j]!=0;i++){s[i]=rhs.s[j];j++;}len=i;s[i]=0;}String::String(constchar*sbbb,unsignedintn)//58{inti=0,j;for(j=0;j<n;j++){s[i++]=sbbb[j];}len=i;s[i]=0;}String::String(unsignedintn,charc)//6{inti=0,j=0;for(i;i<n;i++){s[j++]=c;}len=j;s[len]=0;}StringString::operator+(String&s11)//7{Strings1;inti,j,xia=0;for(i=0;i<len;i++){s1.s[xia++]=s[i];}for(j=0;j<s11.len;j++){s1.s[xia++]=s11.s[j];}s1.s[xia]=0;s1.len=len+s11.len;returns1;9}String&String::operator=(String&s22)//8{Strings2;inti,j=0;for(i=0;i<s22.len;i++){s[j++]=s22.s[i];}s[j]=0;len=s22.len;returnString(s);}String&String::operator+=(String&s33)//9{Strings3;inti=len,j;for(j=0;j<s33.len;j++){s[len++]=s33.s[j];}s[len]=0;returnString(s);}boolString::operator==(String&s44)//10{if(len!=s44.len)returnfalse;else{for(inti=0;i<len;i++){if(s[i]!=s44.s[i])returnfalse;10}returntrue;}}boolString::operator!=(String&s55)//11{if(len!=s55.len)returntrue;else{for(inti=0;i<len;i++){if(s[i]!=s55.s[i])returntrue;}returnfalse;}}boolString::operator<(String&s66)///12{if(len<s66.len){for(inti=0;i<len;i++){if(s[i]<s66.s[i])returntrue;if(s[i]>s66.s[i])returnfalse;}returntrue;}if(len>=s66.len){for(inti=0;i<s66.len;i++)11{if(s[i]>s66.s[i])returnfalse;if(s[i]<s66.s[i])returntrue;}returnfalse;}}boolString::operator<=(String&s66)///13{if(len<s66.len){for(inti=0;i<len;i++){if(s[i]<s66.s[i])returntrue;if(s[i]>s66.s[i])returnfalse;}returntrue;}if(len>s66.len){for(inti=0;i<s66.len;i++){if(s[i]>s66.s[i])returnfalse;if(s[i]<s66.s[i])returntrue;}returnfalse;}if(len==s66.len)12{for(inti=0;i<s66.len;i++){if(s[i]>s66.s[i])returnfalse;if(s[i]<s66.s[i])returntrue;}returntrue;}}boolString::operator>(String&s77)//14{if(len<=s77.len){for(inti=0;i<len;i++){if(s[i]<s77.s[i])returnfalse;if(s[i]>s77.s[i])returntrue;}returnfalse;}if(len>s77.len){for(inti=0;i<s77.len;i++){if(s[i]>s77.s[i])returntrue;if(s[i]<s77.s[i])returnfalse;}returntrue;13}}boolString::operator>=(String&s77)//15{if(len<s77.len){for(inti=0;i<len;i++){if(s[i]<s77.s[i])returnfalse;if(s[i]>s77.s[i])returntrue;}returnfalse;}if(len==s77.len){for(inti=0;i<len;i++){if(s[i]<s77.s[i])returnfalse;if(s[i]>s77.s[i])returntrue;}returntrue;}if(len>s77.len){for(inti=0;i<s77.len;i++){if(s[i]>s77.s[i])returntrue;if(s[i]<s77.s[i])returnfalse;14}returntrue;}}char&String::operator[](inta)///16{returns[a];}StringString::append(constchar*s88)///17{inti=0;while(s88[i]){s[len++]=s88[i];i++;}s[len]=0;returnString(s);}StringString::assign(constchar*s99)////18{inti=0;while(s99[i]){s[i]=s99[i];i++;}s[i]=0;len=i;returnString(s);}intString::compare(constString&saa)const////19{if(len==saa.len)15{for(inti=0;i<saa.len;i++){if(s[i]>saa.s[i])return1;if(s[i]<saa.s[i])return-1;}return0;}if(len>saa.len){for(inti=0;i<saa.len;i++){if(s[i]>saa.s[i])return1;if(s[i]<saa.s[i])return-1;}return1;}if(len<saa.len){for(inti=0;i<len;i++){if(s[i]>saa.s[i])return1;if(s[i]<saa.s[i])return-1;}return-1;}}String&String::insert(unsignedintpo,constchar*tt)//2016{chara[1000];inti,j=0,k=0,l=0,m=po;for(i=po;i<len;i++){a[j++]=s[i];}a[j]=0;while(tt[k]){s[m++]=tt[k];k++;}while(a[l]){s[m++]=a[l];l++;}s[m]=0;len=m;returnString(s);}StringString::substr(unsignedintpos,unsignedintn)const///21{Stringt;inti=0,j=pos;for(j=pos;j<pos+n;j++){t.s[i++]=s[j];}t.len=i;t.s[i]=0;returnt;}17unsignedintString::find(constString&str)const//////22{intm=0,j;for(j=0;j<len;){intk=j,i=0,xxx=0;for(j;j<k+str.len;j++){if(s[j]!=str.s[i++]){xxx=1;break;}}if(xxx==0){m++;j=k+str.len;}elsej++;}returnm;}unsignedintString::length()const////23{returnlen;}voidString::swap(String&str)///24{charaaa[1000];inti=0,j=0,l=str.len;while(s[i]){18aaa[j++]=s[i];i++;}aaa[j]=0;i=0;j=0;while(str.s[i]){s[j++]=str.s[i];i++;}s[j]=0;i=0;j=0;while(aaa[i]){str.s[j++]=aaa[i];i++;}str.s[j]=0;str.len=len;len=l;}voidgetline(istream&cin,String&t)////27{chara[1000];cin>>a;inti=0,j=0;while(a[i]){t.s[j++]=a[i];i++;}t.len=j;19t.s[j]=0;}voidgetline(istream&cin,String&t,charas)/////28{inti=0;chara;for(;;){cin>>a;if(a==as)break;elset.s[i++]=a;}t.s[i]=0;t.len=i;}#include"stringc.h"#include<iostream>usingnamespacestd;intmain(){cout<<"String()的实现"<<endl;Stringa1;cout<<"a1字符串及其长度"<<endl;cout<<"字符串为:"<<a1<<endl<<"字符长度为:"<<a1.length()<<endl;cout<<"String(constString&rhs)的实现"<<endl;Stringa2="asdf",a3(a2);cout<<"a2字符串及其长度"<<endl;cout<<"字符串为:"<<a2<<endl<<"字符长度为:"<<a2.length()<<endl;cout<<"a3(a2)字符串及其长度"<<endl;cout<<"字符串为:"<<a3<<endl<<"字符长度20为:"<<a3.length()<<endl;cout<<"String(char*ss)的实现"<<endl;charb1[10]="abcde";cout<<"b1字符串"<<endl;cout<<b1<<endl;Stringa4(b1);cout<<"a4(b1)字符串及其长度"<<endl;cout<<"字符串为:"<<a4<<endl<<"字符长度为:"<<a4.length()<<endl;cout<<"String(constString&rhs,unsignedintpos,unsignedintn)的实现"<<endl;Stringa5="abcdef",a6(a5,1,4),a7(a5,3,3),a8(a5,3,5);cout<<"a5字符串及其长度"<<endl;cout<<"字符串为:"<<a5<<endl<<"字符长度为:"<<a5.length()<<endl;cout<<"a6(a5,1,4)字符串及其长度"<<endl;cout<<"字符串为:"<<a6<<endl<<"字符长度为:"<<a6.length()<<endl;cout<<"a7(a5,3,3)字符串及其长度"<<endl;cout<<"字符串为:"<<a7<<endl<<"字符长度为:"<<a7.length()<<endl;cout<<"a8(a5,3,5)字符串及其长度"<<endl;cout<<"字符串为:"<<a8<<endl<<"字符长度为:"<<a8.length()<<endl;cout<<"String(constchar*sbbb,unsignedintn)的实现"<<endl;charb2[10]="abcdef";Stringa9(b2,4),a10(b2,8);cout<<"a9(b2,4)字符串及其长度"<<endl;cout<<"字符串为:"<<a9<<endl<<"字符长度为:"<<a9.length()<<endl;cout<<"a10(b2,8)字符串及其长度"<<endl;cout<<"字符串为:"<<a10<<endl<<"字符长度为:"<<a10.length()<<endl;cout<<"String(unsignedintn,charc)的实现"<<endl;21charb3='d';Stringa11(5,b3);cout<<"b3的字符:"<<b3<<endl;cout<<"a11字符串及其长度"<<endl;cout<<"字符串为:"<<a11<<endl<<"字符长度为:"<<a11.length()<<endl;cout<<"+的实现"<<endl;Stringa12="abcd",a13="efg",a14;a14=a12+a13;cout<<"a12字符串及其长度"<<endl;cout<<"字符串为:"<<a12<<endl<<"字符长度为:"<<a12.length()<<endl;cout<<"a13字符串及其长度"<<endl;cout<<"字符串为:"<<a13<<endl<<"字符长度为:"<<a13.length()<<endl;cout<<"a14=a12+a13字符串及其长度"<<endl;cout<<"字符串为:"<<a14<<endl<<"字符长度为:"<<a14.length()<<endl;cout<<"=的实现"<<endl;Stringa15="asdfg",a16;a16=a15;cout<<"a15字符串及其长度"<<endl;cout<<"字符串为:"<<a15<<endl<<"字符长度为:"<<a15.length()<<endl;cout<<"a16=a15字符串及其长度"<<endl;cout<<"字符串为:"<<a16<<endl<<"字符长度为:"<<a16.length()<<endl;cout<<"+=的实现"<<endl;Stringa17="abcde",a18="fgh";cout<<"a17字符串及其长度"<<endl;cout<<"字符串为:"<<a17<<endl<<"字符长度为:"<<a17.length()<<endl;cout<<"a18字符串及其长度"<<endl;cout<<"字符串为:"<<a18<<endl<<"字符长度22为:"<<a18.length()<<endl;a17+=a18;cout<<"a17+=a18字符串及其长度"<<endl;cout<<"字符串为:"<<a17<<endl<<"字符长度为:"<<a17.length()<<endl;cout<<"==的实现"<<endl;Stringa19="abcde",a20="abcde",a21="abcdef";cout<<"a19字符串为:"<<a19<<endl;cout<<"a20字符串为:"<<a20<<endl;cout<<"a21字符串为:"<<a21<<endl;cout<<"a19与a20可否相等"<<endl;if(a19==a20)cout<<"是"<<endl;elsecout<<"否"<<endl;cout<<"a19与a21可否相等"<<endl;if(a19==a21)cout<<"是"<<endl;elsecout<<"否"<<endl;cout<<"!=的实现"<<endl;cout<<"a19与a20可否不相等"<<endl;if(a19!=a20)cout<<"是"<<endl;elsecout<<"否"<<endl;cout<<"a19与a21可否不相等"<<endl;if(a19!=a21)cout<<"是"<<endl;elsecout<<"否"<<endl;cout<<"<的实现"<<endl;cout<<"a19可否小于a20"<<endl;if(a19<a20)23cout<<"是"<<endl;elsecout<<"否"<<endl;cout<<"a19可否小于a21"<<endl;if(a19<a21)cout<<"是"<<endl;elsecout<<"否"<<endl;cout<<"<=的实现"<<endl;cout<<"a19可否小于等于a20"<<endl;if(a19<=a20)cout<<"是"<<endl;elsecout<<"否"<<endl;cout<<"a19可否小于等于a21"<<endl;if(a19<=a21)cout<<"是"<<endl;elsecout<<"否"<<endl;cout<<">的实现"<<endl;cout<<"a19可否大于a20"<<endl;if(a19>a20)cout<<"是"<<endl;elsecout<<"否"<<endl;cout<<"a19可否大于a21"<<endl;if(a19>a21)cout<<"是"<<endl;elsecout<<"否"<<endl;cout<<">=的实现"<<endl;cout<<"a19可否大于等于a20"<<endl;if(a19>=a20)cout<<"是"<<endl;24elsecout<<"否"<<endl;cout<<"a19可否大于等于a21"<<endl;if(a19>=a21)cout<<"是"<<endl;elsecout<<"否"<<endl;cout<<"[]的实现"<<endl;Stringa22="abcd";cout<<"a22字符串为:"<<a22<<endl;cout<<"a22[2]的字符:"<<a22[2]<<endl;Stringa23="abcd";charb4[10]="efg";cout<<"Stringappend(constchar*s88)的实现"<<endl;cout<<"b4字符串"<<endl<<b4<<endl;cout<<"a23字符串及其长度"<<endl;cout<<"字符串为:"<<a23<<endl<<"字符长度为:"<<a23.length()<<endl;a23.append(b4);cout<<"a23.append(b4)字符串及其长度"<<endl;cout<<"字符串为:"<<a23<<endl<<"字符长度为:"<<a23.length()<<endl;Stringa24;charb5[10]="efgh";cout<<"Stringassign(constchar*s99)的实现"<<endl;cout<<"b5字符串"<<endl<<b5<<endl;cout<<"a24字符串及其长度"<<endl;a24.assign(b5);cout<<"字符串为:"<<a24<<endl<<"字符长度为:"<<a24.length()<<endl;Stringa25="efgh",a26="efgh",a27="efgi",a28="efgg";cout<<"Stringassign(constchar*s99)的实现"<<endl;cout<<"a25字符串:"<<a25<<endl;cout<<"a26字符串:"<<a26<<endl;25cout<<"a27字符串:"<<a27<<endl;cout<<"比较a25与a26的大小"<<endl;cout<<pare(a26)<<endl;cout<<"比较a25与a27的大小"<<endl;cout<<pare(a27)<<endl;cout<<"比较a25与a28的大小"<<endl;cout<<pare(a28)<<endl;Stringa29="abcde";charb6[10]="hij";cout<<"String&insert(unsignedintpo,constchar*tt)的实现"<<endl;cout<<"b6字符串:"<<b6<<endl;cout<<"a29字符串及其长度"<<endl;cout<<"字符串为:"<<a29<<endl<<"字符长度为:"<<a29.length()<<endl;a29.insert(2,b6);cout<<"a29.insert(2,b6)字符串及其长度"<<endl;cout<<"字符串为:"<<a29<<endl<<"字符长度为:"<<a29.length()<<endl;Stringa30="abcdefg",a31;cout<<"Stringsubstr(unsignedintpos,unsignedintn)const的实现"<<endl;cout<<"a29字符串及其长度"<<endl;cout<<"字符串为:"<<a30<<endl<<"字符长度为:"<<a30.length()<<endl;a31=a30.substr(2,4);cout<<"a31=a30.substr(2,4)字符串及其长度"<<endl;cout<<"字符串为:"<<a31<<endl<<"字符长度为:"<<a31.length()<<endl;Stringa32="abcdefgabcdefg",a33="bc",a34="fg";cout<<"unsignedintfind(constString&str)const的实现"<<endl;cout<<"a32字符串:"<<a32<<endl;cout<<"a33字符串:"<<a33<<endl;cout<<"a34字符串:"<<a34<<endl;cout<<"a33在a32首次出现的地址"<<endl;26cout<<a32.find(a33)<<endl;cout<<"a34在a32首次出现的地址"<<endl;cout<<a32.find(a34)<<endl;Stringa35="abcdef",a36="bc",a37;cout<<"unsignedintlength()const的实现"<<endl;cout<<"a35字符串:"<<a35<<endl;cout<<"a36字符串:"<<a36<<endl;cout<<"a37字符串:"<<a37<<endl;cout<<"a35的长度"<<endl;cout<<a35.length()<<endl;cout<<"a36的长度"<<endl;cout<<a36.length()<<endl;cout<<"a37的长度"<<endl;cout<<a37.length()<<endl;Stringa38="abcdefg",a39="abc";cout<<"voidswap(String&str)的实现"<<endl;cout<<"a38字符串及其长度"<<endl;cout<<"字符串为:"<<a38<<endl<<"字符长度为:"<<a38.length()<<endl;cout<<"a39字符串及其长度"<<endl;cout<<"字符串为:"<<a39<<endl<<"字符长度为:"<<a39.length()<<endl;a38.swap(a39);cout<<"经过swap()交换后的a38与a39的字符串及其长度"<<endl;cout<<"a38字符串及其长度"<<endl;cout<<"字符串为:"<<a38<<endl<<"字符长度为:"<<a38.length()<<endl;cout<<"a39字符串及其长度"<<endl;cout<<"字符串为:"<<a39<<endl<<"字符长度为:"<<a39.length()<<endl;Stringa40,a41;cout<<"cin>>的实现"<<endl;cout<<"请输入a40的字符串"<<endl;cin>>a40;27cout<<"请输入a41的字符串"<<endl;cin>>a41;cout<<"cout<<的实现"<<endl;cout<<"a40的输出"<<endl;cout<<a40<<endl;cout<<"a41的输出"<<endl;cout<<a41<<endl;Stringa42;cout<<"getline(istream&cin,String&t)的实现"<<endl;cout<<"请输入a42的字符串"<<endl;getline(cin,a42);cout<<"a42字符串及其长度"<<endl;cout<<"字符串为:"<<a42<<endl<<"字符长度为:"<<a42.length()<<endl;Stringa43,a44;cout<<"getline(istream&cin,String&t,charas)的实现"<<endl;charb7=',',b8='f';cout<<"b7的字符:"<<b7<<endl;cout<<"请输入a43的字符串"<<endl;getline(cin,a43,b7);cout<<"a42字符串及其长度"<<endl;cout<<"字符串为:"<<a43<<endl<<"字符长度为:"<<a43.length()<<endl;cout<<"b8的字符:"<<b8<<endl;cout<<"请输入a44的字符串"<<endl;getline(cin,a44,b8);cout<<"a42字符串及其长度"<<endl;cout<<"字符串为:"<<a44<<endl<<"字符长度为:"<<a44.length()<<endl;return0;}测试(主界面及各功能模块的运行图及说明)的实现28cout<<"String()的实现"<<endl;Stringa1;cout<<"a1字符串及其长度"<<endl;cout<<"字符串为:"<<a1<<endl<<"字符长度为:"<<a1.length()<<endl;的实现cout<<"String(constString&rhs)的实现"<<endl;Stringa2="asdf",a3(a2);cout<<"a2字符串及其长度"<<endl;cout<<"字符串为:"<<a2<<endl<<"字符长度为:"<<a2.length()<<endl;cout<<"a3(a2)字符串及其长度"<<endl;cout<<"字符串为:"<<a3<<endl<<"字符长度为:"<<a3.length()<<endl;的实现cout<<"String(char*ss)的实现"<<endl;charb1[10]="abcde";cout<<"b1字符串"<<endl;cout<<b1<<endl;Stringa4(b1);cout<<"a4(b1)字符串及其长度"<<endl;cout<<"字符串为:"<<a4<<endl<<"字符长度29为:"<<a4.length()<<endl;的实现cout<<"String(constString&rhs,unsignedintpos,unsignedintn)的实现"<<endl;Stringa5="abcdef",a6(a5,1,4),a7(a5,3,3),a8(a5,3,5);cout<<"a5字符串及其长度"<<endl;cout<<"字符串为:"<<a5<<endl<<"字符长度为:"<<a5.length()<<endl;cout<<"a6(a5,1,4)字符串及其长度"<<endl;cout<<"字符串为:"<<a6<<endl<<"字符长度为:"<<a6.length()<<endl;cout<<"a7(a5,3,3)字符串及其长度"<<endl;cout<<"字符串为:"<<a7<<endl<<"字符长度为:"<<a7.length()<<endl;cout<<"a8(a5,3,5)字符串及其长度"<<endl;cout<<"字符串为:"<<a8<<endl<<"字符长度为:"<<a8.length()<<endl;的实现30cout<<"String(constchar*sbbb,unsignedintn)的实现"<<endl;charb2[10]="abcdef";Stringa9(b2,4),a10(b2,8);cout<<"a9(b2,4)字符串及其长度"<<endl;cout<<"字符串为:"<<a9<<endl<<"字符长度为:"<<a9.length()<<endl;cout<<"a10(b2,8)字符串及其长度"<<endl;cout<<"字符串为:"<<a10<<endl<<"字符长度为:"<<a10.length()<<endl;的实现cout<<"String(unsignedintn,charc)的实现"<<endl;charb3='d';Stringa11(5,b3);cout<<"b3的字符:"<<b3<<endl;cout<<"a11字符串及其长度"<<endl;cout<<"字符串为:"<<a11<<endl<<"字符长度为:"<<a11.length()<<endl;的实现cout<<"+的实现"<<endl;Stringa12="abcd",a13="efg",a14;a14=a12+a13;31cout<<"a12字符串及其长度"<<endl;cout<<"字符串为:"<<a12<<endl<<"字符长度为:"<<a12.length()<<endl;cout<<"a13字符串及其长度"<<endl;cout<<"字符串为:"<<a13<<endl<<"字符长度为:"<<a13.length()<<endl;cout<<"a14=a12+a13字符串及其长度"<<endl;cout<<"字符串为:"<<a14<<endl<<"字符长度为:"<<a14.length()<<endl;的实现cout<<"=的实现"<<endl;Stringa15="asdfg",a16;a16=a15;cout<<"a15字符串及其长度"<<endl;cout<<"字符串为:"<<a15<<endl<<"字符长度为:"<<a15.length()<<endl;cout<<"a16=a15字符串及其长度"<<endl;cout<<"字符串为:"<<a16<<endl<<"字符长度为:"<<a16.length()<<endl;329的实现cout<<"+=的实现"<<endl;Stringa17="abcde",a18="fgh";cout<<"a17字符串及其长度"<<endl;cout<<"字符串为:"<<a17<<endl<<"字符长度为:"<<a17.length()<<endl;cout<<"a18字符串及其长度"<<endl;cout<<"字符串为:"<<a18<<endl<<"字符长度为:"<<a18.length()<<endl;a17+=a18;cout<<"a17+=a18字符串及其长度"<<endl;cout<<"字符串为:"<<a17<<endl<<"字符长度为:"<<a17.length()<<endl;的实现cout<<"==的实现"<<endl;Stringa19="abcde",a20="abcde",a21="abcdef";cout<<"a19字符串为:"<<a19<<endl;cout<<"a20字符串为:"<<a20<<endl;cout<<"a21字符串为:"<<a21<<endl;cout<<"a19与a20可否相等"<<endl;if(a19==a20)cout<<"是"<<endl;elsecout<<"否"<<endl;cout<<"a19与a21可否相等"<<endl;33if(a19==a21)cout<<"是"<<endl;elsecout<<"否"<<endl;的实现cout<<"!=的实现"<<endl;cout<<"a19与a20可否不相等"<<endl;if(a19!=a20)cout<<"是"<<endl;elsecout<<"否"<<endl;cout<<"a19与a21可否不相等"<<endl;if(a19!=a21)cout<<"是"<<endl;elsecout<<"否"<<endl;的实现cout<<"<的实现"<<endl;cout<<"a19可否小于a20"<<endl;if(a19<a20)cout<<"是"<<endl;34elsecout<<"否"<<endl;cout<<"a19可否小于a21"<<endl;if(a19<a21)cout<<"是"<<endl;elsecout<<"否"<<endl;的实现cout<<"<=的实现"<<endl;cout<<"a19可否小于等于a20"<<endl;if(a19<=a20)cout<<"是"<<endl;elsecout<<"否"<<endl;cout<<"a19可否小于等于a21"<<endl;if(a19<=a21)cout<<"是"<<endl;elsecout<<"否"<<endl;的实现cout<<">的实现"<<endl;35cout<<"a19可否大于a20"<<endl;if(a19>a20)cout<<"是"<<endl;elsecout<<"否"<<endl;cout<<"a19可否大于a21"<<endl;if(a19>a21)cout<<"是"<<endl;elsecout<<"否"<<endl;的实现cout<<">=的实现"<<endl;cout<<"a19可否大于等于a20"<<endl;if(a19>=a20)cout<<"是"<<endl;elsecout<<"否"<<endl;cout<<"a19可否大于等于a21"<<endl;if(a19>=a21)cout<<"是"<<endl;elsecout<<"否"<<endl;36的实现cout<<"[]的实现"<<endl;Stringa22="abcd";cout<<"a22字符串为:"<<a22<<endl;cout<<"a22[2]的字符:"<<a22[2]<<endl;的实现Stringa23="abcd";charb4[10]="efg";cout<<"Stringappend(constchar*s88)的实现"<<endl;cout<<"b4字符串"<<endl<<b4<<endl;cout<<"a23字符串及其长度"<<endl;cout<<"字符串为:"<<a23<<endl<<"字符长度为:"<<a23.length()<<endl;a23.append(b4);cout<<"a23.append(b4)字符串及其长度"<<endl;cout<<"字符串为:"<<a23<<endl<<"字符长度为:"<<a23.length()<<endl;37的实现Stringa24;charb5[10]="efgh";cout<<"Stringassign(constchar*s99)的实现"<<endl;cout<<"b5字符串"<<endl<<b5<<endl;cout<<"a24字符串及其长度"<<endl;a24.assign(b5);cout<<"字符串为:"<<a24<<endl<<"字符长度为:"<<a24.length()<<endl;的实现Stringa25="efgh",a26="efgh",a27="efgi",a28="efgg";cout<<"Stringassign(constchar*s99)的实现"<<endl;cout<<"a25字符串:"<<a25<<endl;cout<<"a26字符串:"<<a26<<endl;cout<<"a27字符串:"<<a27<<endl;cout<<"比较a25与a26的大小"<<endl;cout<<pare(a26)<<endl;cout<<"比较a25与a27的大小"<<endl;cout<<pare(a27)<<endl;cout<<"比较a25与a28的大小"<<endl;cout<<pare(a28)<<endl;38的实现Stringa29="abcde";charb6[10]="hij";cout<<"String&insert(unsignedintpo,constchar*tt)的实现"<<endl;cout<<"b6字符串:"<<b6<<endl;cout<<"a29字符串及其长度"<<endl;cout<<"字符串为:"<<a29<<endl<<"字符长度为:"<<a29.length()<<endl;a29.insert(2,b6);cout<<"a29.insert(2,b6)字符串及其长度"<<endl;cout<<"字符串为:"<<a29<<endl<<"字符长度为:"<<a29.length()<<endl;的实现Stringa30="abcdefg",a31;cout<<"Stringsubstr(unsignedintpos,unsignedintn)const的实现"<<endl;cout<

温馨提示

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

评论

0/150

提交评论