class String{

public:

普通构造函数

拷贝构造函数

析构函数

赋值函数

private:

用于保存字符串

};

// String的析构函数

String::~String(void)    {

    delete [] m_data;                      

由于m_data是内部数据类型,也可以写成 delete m_data;

}

// String的普通构造函数             

String::String(const char *str)  {

    if(str==NULL)   {

       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, other.m_data);         

}

// 赋值函数

String & String::operate =(const String &other)  {   

检查自赋值                    

       if(this == &other)

           return *this;    

释放原有的内存资源        

       delete [] m_data;       

(3)分配新的内存资源,并复制内容

      int length = strlen(other.m_data); 

      m_data = new char[length+1]; 

      strcpy(m_data, other.m_data);       

(4)返回本对象的引用         

       return *this;

}