Class string
{
Public:
String (const char * STR = NULL );
String (const string & other );
~ String (void );
String & operate = (const string & other );
PRIVATE:
Char * m_data;
}
String: string (cost char * STR = NULL)
{
If (STR = NULL)
{
M_data = new char (1 );
M_data = '/0 ';
}
Else
{
Int Len = strlen (STR );
M_data = new char (LEN + 1 );
Strcpy (m_data, STR );
}
}
String: string (const string & other)
{
If (other. m_data = NULL)
{
M_data = new char (1 );
M_data = '/0 ';
}
Else
{
Int Len = strlen (other. m_data );
M_data = new char (LEN + 1 );
Strcpy (m_data, other. m_data );
}
}
String & string: operate = (const string & other)
{
If (this = & other. m_data)
{
Return * this;
}
Delete m_data;
Int Len = strlen (other. m_data );
M_data = new char (LEN + 1 );
Strcpy (m_data, other. m_data );
Return * this;
}
String ::~ String (void)
{
Delete [] m_data; // because m_data is an internal data type, you can also write it as delete m_data;
}