String 类基本函数的实现self

void strcpy(char* dest, const char* src)
{
int i=0;
while(src[i]!='\0')
{
dest[i] = src [i];
i++;
}
dest[i] = '\0';
}
int strlen(const char* dest)
{
int i=0;
while(dest[i]!='\0')
{
i++;
}
return i;
}
String::String(const char* str)
{
 if(NULL == str)
 {
   m_data = new char[1];
   *m_data = '\0';
 }
 else
 {
  int length = strlen(str);
  m_data = new char[length+1];
  strcpy(m_data, str);
 }
}
String::String(const String &other)
{
  int length = strlen(other.m_data);
  m_data = new char[length+1];
  strcpy(m_data,m_data);
}
String::~String(void)
{
delete []m_data;
}
String& operator=(const String& other)
{
if(*this == other)
{
return *this;
}
else
{
int length = strlen(other.m_data);
m_data = new char[length+1];
strcpy(m_data, other.m_data);
return *this;
}
}


posted @ 2017-03-03 14:15  sowhat1412  阅读(129)  评论(0)    收藏  举报