mystring类

#include
#include
using namespace std;
class MyString{
public:
    MyString();
    MyString(const char *p);
    MyString(const MyString& obj);
    ~MyString();
    MyString & operator=(const char*p);
    //MyString & operator=(const MyString& obj);
    bool operator==(const MyString& obj);
    bool operator!=(const MyString& obj);
    int operator < (const MyString& obj);
    int operator > (const MyString& obj);
    
    friend ostream & operator << (ostream &,const MyString& obj);
    friend istream & operator >> (istream &,const MyString& obj);
    
    char operator[](int index);
    
    char at(int index);
    char *begin();
    char *end();
    bool insert(int index,const char *p); //指定位置插入字符串
    bool append(const char *p);           //追加字符串
//private:
    int length;
    int max_size;
    char *arr;

};
MyString::MyString(){
    max_size=5;
    length=0;
    arr = new char[max_size];
    strcpy(arr,"\0");
    cout<<"无参构造"< strlen(p) ) return *this;
    length=strlen(p);
    strcpy(arr,p);
    cout<<"字符赋值"< (const MyString& obj){
    int ret=strcmp(arr,obj.arr);
    if(ret > 0) return 1;
    else return 0;
}

ostream & operator << (ostream & out,const MyString& obj){
    out<> (istream & in,const MyString& obj){
    in>>obj.arr;
    return in;
}
char MyString::operator[](int index){
    if(index >= length) return -1;
    return arr[index];
}
char MyString::at(int index){
    if(index >= length) return -1;
    return arr[index];
}
char * MyString::begin(){
    return arr;
}
char * MyString::end(){
    if(length==0) return -1;
    return arr[length-1];
}
bool  MyString::insert(int index,const char *p){
    //写不动了
} 
bool  MyString::append(const char *p){
    strcat(arr,p);
}         
int main(){
    MyString str;
    cout< str "<< (str1>str) <

你可能感兴趣的:(mystring类)