自定义类,第1张

自定义类,第2张

# include " string . h "
# define TRIM _ LEFT 1
# define TRIM _ RIGHT 2
# define TRIM _ BOTH 0

类string
{
public:
string();
string(const char * src);
string(string & src);
~ string();
//运算符重载
void Operator =(const char * src);
//char * operator+(string & add 2);
字符串运算符+(string & add 2);
运算符char *();
//成员函数
const char * ToString();
char GetAt(int index);
int Len();
int FindFirstSub(string substr,int start);
bool InStr(string substr);
string Trim( int部分);
string Left(int sub len);
string Right(int sub len);
string Mid( int start,int sub len);
void Replace(string strneed replaced,string str Replace);

private:
char * str;
int len;
};
////////////////////////

/////////////////////br

string::string()
{
len = 0;
str = new char(len+1);
str[0]= 0;
}
string::string(const char * src)
{
len = strlen(src);
str = new char(len+1);
strcpy( str,src);
}
string::string(string & src)
{
len = src。len();
str = new char(len+1);
strcpy( str,(char *)src);
}
string::~ string()
{
}

/////////////////////br

void string::operator =(const char * src)
{
len = strlen(src);
str = new char(len+1);
strcpy( str,src);
}
string string::operator+(string & add 2)
{
int len 2 = add 2。len();
int len 0 = len+len 2;
char * str 0 = new char(len 0+1);
strcpy(str r0,str);
strcat( str0,(char *)add 2);
字符串和(str 0);
返回总和;
}
string::operator char *()
{
return str;
}

/////////////////////br/int Len()
//int findfirst sub(string substr,int start = 0)
//bool InStr(string substr)
//string Trim(int part)
//string Left()
//string Right()
//string Right()
//string Mid()
//string Mid()]

const char * string::ToString()
{
return str;
}
/
/Get字符
charstring::getat(int index)
{
return str[index];
}
/
/获取字符串的长度
int string::len()
{
return len;
}
/
/获取start(包括start)后子串的内存号
int string::findfirst sub(string substr,int start = 0)
{
if(start)
for(int I = start;i {
if( str[i] == substr。GetAt(0))
{
bool flag = true;
int j;
for(j = 0;flag && j < substr。len()& &(I+j < len);j++ )
{
if( str[i+j]!= substr。GetAt(j))
flag = false;
}
if( j >= substr。len()& & flag)
{
return I;
}
}
}
return-1;
}
/
/确定字符串substr是否是字符串的子字符串。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 自定义类

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情