#include <iostream>
#include <string.h>
using namespace std;
class String
{
public:
String(char* str)
{
_str = new char[(strlen(str) + 1)];
strcpy(_str,str);
}
~String()
{
if(_str)
delete []_str;
}
String& operator=(String& str)
{
if(this != &str)
{
delete []_str;
_str = new char[(strlen(str._str) + 1)];
strcpy(_str,str._str);
}
return *this;
}
String(String& str)
{
_str = new char[(strlen(str._str) + 1)];
strcpy(_str,str._str);
}
char* GetStr()
{
return _str;
}
private:
char* _str;
};
int main()
{
String s1("abced");
String s2(s1);
cout<<s1.GetStr()<<endl;
cout<<s2.GetStr()<<endl;
return 0;