//实现String类的成员方法
class String
{
public:
String( const char* str = NULL ) // 普通构造
~String(); //析构
String( const String& other); //拷贝构造函数
String& operater=(const String& other ) //赋值运算重载
private:
char* m_data;
}
String::String( const char* str )
{
if ( str == NULL )
{
m_data = new char[1];
m_data = '\0';
}
else
{
m_data = new char[ strlen(str) + 1 ];
strcpy( m_data,str );
}
}
String::String( const String & other)
{
m_data = new char[ strlen(other.m_data) +1 ];
strcpy( m_data,other.m_data);
}
String&String::operater=(const String&other )
{
if ( this == &other )
{
return *this; //自赋值
}
delete []m_data;
m_data = new char[ strlen( other.m_data )+ 1 ];
strcpy( m_data,other.m_data);
return *this;
}
String::~String()
{
delete []m_data;
}