实验三include.doc_第1页
实验三include.doc_第2页
实验三include.doc_第3页
实验三include.doc_第4页
实验三include.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

# include class OOStringpublic:OOString();OOString(char *s);OOString(OOString&m);/构造、析构函数OOString();public:int Strlen(char *s);char Strcpy(char*ss,char *s);/实现字符串的复制/连接/求字符串的长度char *Strcat(char*ss,char *s);public:void print(); char* GetSubStr(int n,int m);int Length();char GetChar(int n);void Insert(int n,char *s);char *Cat(OOString&m);void Append(char *s);void Append(OOString&m);public:OOString operator =(char *s);/赋值运算重载函数private:int m_nLength;char *m_strBuffer;/实现字符串的复制/连接/求字符串的长度int OOString:Strlen(char *s)m_nLength=0;char *p=s;while(*p!=0)m_nLength+=1;p+;return m_nLength; char OOString:Strcpy(char *ss,char *s)while(*ss+=*s+);return *ss;char *OOString:Strcat(char*ss,char *s)char *p;int m=Strlen(ss);int n=Strlen(s);p=new char m+n+1;Strcpy(p,ss);pm=*s;int i=m;while(*s!=0)pi+=*s+;pi=0;return p;/构造、析构函数OOString:OOString()m_nLength=0;m_strBuffer=NULL;OOString:OOString(char *s)if(s!=NULL)int len=Strlen(s);m_strBuffer=new charlen+1; Strcpy(m_strBuffer,s);else m_strBuffer=0; OOString:OOString(OOString&m)if(m.m_strBuffer!=0)int len=Strlen(m.m_strBuffer);m_strBuffer=new charlen+1; Strcpy(m_strBuffer,m.m_strBuffer);else m_strBuffer=0;OOString:OOString()if(m_strBuffer!=NULL)delete m_strBuffer;/void OOString:print()/输出字符串if(m_strBuffer=NULL)coutemptyendl;coutm_strBufferendl;char* OOString:GetSubStr(int n,int m)/从n开始取字符串m_nLength=Strlen(m_strBuffer);if(m=m_nLength)m_nLength=m-n;else m_nLength=m_nLength-n;char *p=new charm_nLength+1;for(int i=0;im_nLength;i+)pi=m_strBuffern+i;pi=0;return p;int OOString:Length()/输出字符串的长度m_nLength=Strlen(m_strBuffer);return m_nLength;char OOString:GetChar(int n)/获得字符 char ch;m_nLength=Strlen(m_strBuffer);if(nm_nLength)ch=0;else ch=*(m_strBuffer+n);return ch;void OOString:Insert(int n,char *s)/插入char*ss;int a=Strlen(m_strBuffer); int b=Strlen(s);ss=new char a+b+1;for(int i=0;in;i+)ssi=m_strBufferi;for(int j=0;jb;i+,j+)ssi=sj;for(int t=n;tm_strBuffer,m.m_strBuffer);return s;void OOString:Append(char *ss)char *s;int len=Strlen(ss);s=new charm_nLength+len+1;s=Strcat(m_strBuffer,ss);deletem_strBuffer;m_strBuffer=s;void OOString:Append(OOString&m)char *s;int len=Strlen(m.m_strBuffer);s=new charm_nLength+len+1;s=Strcat(m_strBuffer,m.m_strBuffer);deletem_strBuffer;m_strBuffer=s;/赋值运算重载函数OOString OOString:operator =(char *s)if(m_strBuffer!=NULL)delete m_strBuffer;m_strBuffer=NULL;if(s=NULL)m_strBuffer=NULL;elseint len=Strlen(s)+1;m_strBuffer=new charlen;Strcpy(m_strBuffer,s);return *this;/void main ()/-1OOString str1,str2(abcd),str3(hello,CPP); OOString str(str2);/-2str.print();/-3OOString strHello=str3.GetSubStr(0,5); strHello.print(); strHello=str3.GetSubStr(7,10);strHello.print();/-4OOString strHelloCPP=str3.GetSubStr(0,9);strHelloCPP.print();/-5coutstrHelloCPP.Length()endl;/-6char ch=strHelloCPP.GetChar(2);coutchendl;/-7strHelloCPP.Insert(5, world);strHelloCPP.print();/-8OOString strCatTest=strHelloCPP.Cat(

温馨提示

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

评论

0/150

提交评论