#include<string>
using namespace std;
class String{
public:
String(const char* str=0)
{
if(str)
{ m_data = new char[strlen(str)+1];
strcpy(m_data,str);
}
else
{
m_data = new char[1];
*m_data='\0';
}
}
String(const String &str)
{
m_data = new char[strlen(str.m_data)+1];
strcpy(m_data,str.m_data);
}
String& operator=(const String& str)
{
if(this == &str)
{
return *this;
}
delete []m_data;
m_data = new char[strlen(str.m_data)+1];
strcpy(m_data,str.m_data);
return *this;
}
~String()
{
delete []m_data;
}
char *get_str() const {
return m_data;
}
private:
char *m_data;
};
int main( int argc, char ** argv )
{
String s("hello");
String ss(s);
printf("s=%s",s);
printf("ss=%s",ss);
String a("aaaa");
printf("a=%s",a);
ss = a;
printf("ss=%s",ss);
}