#include <iostream>
#include <string>
using namespace std;
class MyString
{
public:
MyString(const char* str);
~MyString();
MyString(const MyString &str);
MyString& operator=(const MyString &str);
private:
char* pdata;
};
MyString::MyString(const char* str)
{
if (str==NULL)
{
pdata=new char[1];
pdata='\0';
}
else
{
int length=strlen(str)+1;
pdata=new char[length];
strcpy(pdata,str);
}
}
MyString::MyString(const MyString &str)
{
int length=strlen(str.pdata)+1;
pdata=new char[length];
strcpy(pdata,str.pdata);
}
MyString::~MyString()
{
delete[] pdata;
}
MyString& MyString::operator=(const MyString &str)
{
if (this!=&str)
{
MyString strtemp(str);
char *temp=strtemp.pdata;
strtemp.pdata=pdata;
pdata=temp;
}
return *this;
}