c++字符串类String的实现
来源:互联网 发布:淘宝上可以开发票吗 编辑:程序博客网 时间:2024/06/04 08:27
#include <string.h>
class String
{
private:
char *str;
int size;
public:
String(char *s="")
{
size=strlen(s);
str=new char[size+1];
strcpy(str,s);
}
String(String &strObj)
{
size=strObj.getLength();
str=new char[size+1];
strcpy(str,strObj.str);
}
~String()
{
delete []str;
}
const char *toString()
{
return str;
}
int getLength()
{
return strlen(str);
}
String &operator =(String &strObj)
{
delete []str;
size=strObj.getLength();
str=new char[size+1];
strcpy(str,strObj.str);
return *this;
}
String &operator =(char *s)
{
delete []str;
size=strlen(s);
str=new char[size+1];
strcpy(str,s);
return *this;
}
String operator +(String &strObj)
{
int tmpsize;
char *tmpstr;
tmpsize=getLength()+strObj.getLength();
tmpstr=new char[tmpsize+1];
strcpy(tmpstr,str);
strcat(tmpstr,strObj.str);
return String(tmpstr);
}
String operator +(char *s)
{
int tmpsize;
char *tmpstr;
tmpsize=getLength()+strlen(s);
tmpstr=new char[tmpsize+1];
strcpy(tmpstr,str);
strcat(tmpstr,s);
return String(tmpstr);
}
friend String operator +(char *s,String &strObj)
{
int tmpsize;
char *tmpstr;
tmpsize=strlen(s)+strObj.getLength();
tmpstr=new char[tmpsize+1];
strcpy(tmpstr,s);
strcat(tmpstr,strObj.str);
return String(tmpstr);
}
String &operator +=(String &strObj)
{
*this=*this+strObj;
return *this;
}
String &operator +=(char *s)
{
*this=*this+s;
return *this;
}
String &toUpper()
{
for(int i=0;i<=size;i++)
{
if(*(str+i)>='a' && *(str+i)<='z')
{
*(str+i)-=32;
}
}
return *this;
}
String &toLower()
{
for(int i=0;i<=size;i++)
{
if(*(str+i)>='A' && *(str+i)<='Z')
{
*(str+i)+=32;
}
}
return *this;
}
char charAt(int i)
{
if(i<0 || i>getLength())
{
return ('/0');
}
else
{
return *(str+i);
}
}
char operator [](int i)
{
return charAt(i);
}
int indexOf(char c)
{
for(int i=0;i<=size;i++)
{
if(*(str+i)==c){return i;}
}
return -1;
}
};
- C++【String类】String查找单个字符,查找字符串的函数实现
- C++【String类】String删除单个字符,删除字符串的函数实现
- C++【String类】String插入单个字符,插入字符串的函数实现
- [C++]String类的实现
- [C++]String类的实现
- [C++]String类的实现
- C++String类的实现
- 【c++】string类的实现
- C++string类的实现
- C++string类的实现
- C++String类的实现
- C++string类的实现
- 不调用C库函数string.h实现字符串的连接
- String字符串类实现
- C/C++string类的实现
- c++字符串类String的实现
- 字符串类string的基本实现
- 实现自己的字符串类String
- Microsoft Live全景图
- 在COBOL中获取命令行参数
- Ajax研究小结
- 2005.11.11 Bank5小组第五次会议
- 天行健,君子以自强不息.
- c++字符串类String的实现
- 多上了三五年学(工大求职版) zz
- alibaba与yahoo
- blog 又开通了
- 再次对不起编译老师~~~
- Java学习从入门到精通[转载] (经典)
- JDBC和ODBC
- 入门-J2EE简介
- 让人又爱又恨的 JAVA 面试基础试题