华清远见22071班10.8作业

关于+=,=,<,>,==,[]的运算符重载

    mystring &operator+=(const mystring &s)
    {
        char *temp=new char[this->len];
        for(int i=0;ilen;i++)
        {
            *(temp+i)=*(this->str+i);
        }
        this->len=strlen(this->str)+strlen(s.str);
        delete this->str;
        this->str=new char(this->len);
        this->str=strcat(temp,s.str);
        return *this;
    }
    char operator[](int pos)
    {
        char *p;
        for(int i=0;istr)+strlen(s.str)+1;
        temp.str=new char(temp.len);
        strcat(temp.str,this->str);
        strcat(temp.str,s.str);
        return temp;
    }
    bool operator>(const mystring &s)
    {
        if(strcmp(this->str,s.str)>0)
        { return 1;}
        else
        { return 0;}
    }
    bool operator<(const mystring &s)
    {
        if(strcmp(this->str,s.str)<0)
        { return 1;}
        else
        { return 0;}
    }
    bool operator==(const mystring &s)
    {
        if(strcmp(this->str,s.str)==0)
        { return 1;}
        else
        { return 0;}
    }

你可能感兴趣的:(c++)