class String
{
public:
String(char *pstr);
~String();
String(const String &src);
String& operator=(const String &src);
private:
char *_pstr;
};
String::String (char *pstr)
{
if(pstr==NULL)
{
_pstr=new char[1];
*_pstr='\0';
}
else
{
int len=strlen(pstr);
_pstr=new char[len+1];
int i=0;
for(;i<len;i++)
{
_pstr[i]=pstr[i];
}
_pstr[i]='\0';
}
}
String ::~String()
{
delete []_pstr;
}
String::String(const String &src)
{
int len=strlen(src._pstr);
_pstr=new char[len+1];
int i=0;
for(;i<len;i++)
{
_pstr[i]=src._pstr [i];
}
_pstr[i]='\0';
}
String& String:: operator=(const String &src)
{
if(this==&src)
{
return *this;
}
delete []_pstr ;
int len=strlen(src._pstr );
char *ptmp=new char[len+1];
int i=0;
for(;i<len;i++)
{
ptmp[i]=src._pstr [i];
}
_pstr=ptmp;
return *this;
}