string類的實現(實現了一部分功能)

2021-06-03 15:52:12 字數 2274 閱讀 5661

#ifndef _mstring_h_

#define _mstring_h_

#include using namespace std;

namespace kaka

int length();

void clear();

private:

char *_string;

int _length;

};};

#endif

這是標頭檔案mstring.h的定義

接下來是mstring.cpp實現功能介面

#include "mstring.h"

#include using namespace std;

namespace kaka

string::string() //建構函式

string::~string() //析構函式

}string::string(const char *str) //建構函式的過載

_string=new char[_length+1];

while(str[i]!='\0')

_string[i+1]='\0';

}string::string(const string &str)

_string[i+1]='\0';

}string& string::operator=(const string &str) //等號操作符的過載

string& string::operator=(const char *str)

char& string::operator(int index) //操作符的過載

string& string::operator+=(const string &str) //+=操作符過載函式

string& string::operator+=(const char *str)

bool string::operator!=(const string &str) //!=操作符過載

return false; }}

bool string::operator!=(const char *str)

if(_length!=length)

return true;

else

return false; }}

bool string::operator>(const char *str) //>操作符過載

else if(_string[i]>str[i])

else

return false;

} if(i>=this->length())

return false;

else

return (_string[i]>str[i]);

}bool string::operator>(const string &str)

bool string::operator>=(const char *str) //>=操作符過載

else if(_string[i]>str[i])

else

return false;

} if(_string=='\0'&&str[i]=='\0')

return true;

else

return (_string[i]>str[i]);

}bool string::operator>=(const string &str)

bool string::operator

bool string::operator

bool string::operator<=(const string &str) //<=操作符過載

bool string::operator<=(const char *str)

bool string::operator==(const string &str) //==操作副過載

{ if(*this>str)

return false;

else if(*this

接下來是測試函式  只是測試了一部分

#include #include using namespace std;

using namespace kaka;

int main(void)

{ string a("abcd");

cout<>a;

cout結果如下所示:

上述的測試不完全,若有發現bug,謝謝通知我,謝謝大家~~

模擬實現了String類

define crt secure no warnings include using namespace std include class string string const char str string const string str str nullptr size 0 capaci...

string類的實現

參考c primer.string類的實現,清翔兔 06,jan.includeusing namespace std class string string void private char m data inline string string const char str inline st...

String類的實現

學習資料結構寫了乙個string的類,貼出來求指教 ifndef string h h define string h h include include include define defaultsize 128 class string maxsize為傳入引數的string string c...