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