String类的构造函数,析构函数、拷贝构造函数和赋值函数

(1)构造函数
String::String(const char *str)
{
if(str==NULL)
{
  m_data  = new char[1];
  *m_data = ‘’; 
}
else
{
   Int length = strlen(str);
   m_data = new char[length];
   Strcpy(m_data,str);
}
}
(2)析构函数
String::~String(void)
{
   delete []m_data;
}
(3)拷贝构造函数
  String::String(const String &other)
{
Int length = strlen(other);
 m_data = new char[length+1];
Strcpy(m_data,other.m_data);
}
(4)赋值函数
String & String::operate =  (const String &other) 
 {
     If(this == &other)
       Return *this;
     Delete []m_data;
    m_data = NULL;
    M_data = new char[strlen(other.m_data)];
    Strcpy(m_data,other.m_data);
     Return *this;
}

  

原文地址:https://www.cnblogs.com/yuanqiangfei/p/11248182.html