#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...