c++仿照string类,完成myString 类

#include 
#include 
 
using namespace std;
 
class myString
{
    private:
        char *str;          //记录c风格的字符串
        int size;            //记录字符串的实际长度
    public:
        //无参构造
        myString():size(10)
        {
            str = new char[size+1];         //构造出一个长度为10的字符串
            strcpy(str,"");         //赋值为空串
            //cout<<"无参构造"<size-1){
                cout<<"参数错误"<)
        bool operator>(const myString &s){
            int i=0;
            while (*(str+i)==*(s.str+i)&&*(str+i)!=0&&*(s.str+i)!=0){
                i++;
            }
            return *(str+i)-*(s.str+i)>0;
        }
        bool operator<(const myString &s){
            int i=0;
            while (*(str+i)==*(s.str+i)&&*(str+i)!=0&&*(s.str+i)!=0){
                i++;
            }
            return *(str+i)-*(s.str+i)<0;
        }
        bool operator==(const myString &s){
            int i=0;
            while (*(str+i)==*(s.str+i)&&*(str+i)!=0&&*(s.str+i)!=0){
                i++;
            }
            return *(str+i)==*(s.str+i);
        }
        bool operator!=(const myString &s){
            int i=0;
            while (*(str+i)==*(s.str+i)&&*(str+i)!=0&&*(s.str+i)!=0){
                i++;
            }
            return *(str+i)-*(s.str+i)!=0;
        }
        bool operator<=(const myString &s){
            int i=0;
            while (*(str+i)==*(s.str+i)&&*(str+i)!=0&&*(s.str+i)!=0){
                i++;
            }
            return *(str+i)-*(s.str+i)<=0;
        }
        bool operator>=(const myString &s){
            int i=0;
            while (*(str+i)==*(s.str+i)&&*(str+i)!=0&&*(s.str+i)!=0){
                i++;
            }
            return *(str+i)-*(s.str+i)>=0;
        }
        //中括号运算符重载
        char &operator[](int pos){
            if(pos<0||pos>size-1){
                cout<<"参数错误"<

c++仿照string类,完成myString 类_第1张图片

你可能感兴趣的:(c++,开发语言)