delete[]m_data;
}
voidString:
:
stringlianjie(char*str1,char*str2)
{
inti=0,j=0;
while(str1[i]!
='\0')
i++;
while(str2[j]!
='\0')
{
str1[i]=str2[j];
i++;
j++;
}
str1[i]='\0';
}
intString:
:
comparestr(constchar*str1,constchar*str2)
{
if(stricmp(str1,str2)>0)
return1;
elseif(stricmp(str1,str2)==0)
return2;
else
return3;
}
String:
:
String(constchar*str)
{
if(str==NULL)
{
m_data=newchar[1];
*m_data='\0';
}
else
{
intlength=strlen(str);
m_data=newchar[length+1];
strcpy(m_data,str);
}
}
String:
:
String(constString&other)
{
cout<<"拷贝构造函数"<intlength=strlen(other.m_data);
m_data=newchar[length+1];
strcpy(m_data,other.m_data);
}
String&String:
:
operator=(constString&other)
{
cout<<"赋值函数"<if(this==&other)
return*this;
delete[]m_data;
intlength=strlen(other.m_data);
m_data=newchar[length+1];
strcpy(m_data,other.m_data);
return*this;
}
intString:
:
length(char*str)
{
intL=0;
while(str[L]!
='\0')
L++;
returnL;
}
voidString:
:
print()
{
cout<}