1. 程式人生 > 其它 >C ++實現string

C ++實現string

技術標籤:c++


/*
構造析構,拷貝、拷貝賦值版本

*/
class  sstring{
public:
    sstring(const char *p=NULL){//nullptr
        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; };