重载EString的>、>=、<、<=运算符
This commit is contained in:
parent
b40ca90a70
commit
4bc613929c
|
|
@ -11,26 +11,13 @@ int WINAPI WinMain(
|
|||
if (!EApp::init(L"Demo", 250, 150))
|
||||
return -1;
|
||||
|
||||
EString str;
|
||||
str += L"123";
|
||||
str += L"4";
|
||||
UINT h1 = str.hash();
|
||||
EString str = L"1245";
|
||||
EString str2 = L"1243";
|
||||
|
||||
EString string;
|
||||
string = string + L"Hello" + 2017 + L"!";
|
||||
string.append(L"Hello").append(2017).append(L"!");
|
||||
|
||||
EString str2;
|
||||
str2 += 1;
|
||||
str2 += 2L;
|
||||
str2 += 2.3;
|
||||
str2 += 4.6f;
|
||||
UINT h2 = str2.hash();
|
||||
|
||||
str2 += std::wstring(L"sdf");
|
||||
EString str3;
|
||||
str3 += str2 + str;
|
||||
UINT h3 = str3.hash();
|
||||
bool b = str > str2;
|
||||
bool b2 = str >= str2;
|
||||
bool b3 = str < str2;
|
||||
bool b4 = str <= str2;
|
||||
|
||||
auto scene = new EScene();
|
||||
EApp::enterScene(scene);
|
||||
|
|
|
|||
|
|
@ -249,6 +249,38 @@ EString & e2d::EString::operator+=(const std::wstring &str)
|
|||
return *this;
|
||||
}
|
||||
|
||||
bool e2d::EString::operator<(EString const &str) const
|
||||
{
|
||||
for (int i = 0; i <= _size; i++)
|
||||
if (_string[i] != str._string[i])
|
||||
return _string[i] < str[i];
|
||||
return false;
|
||||
}
|
||||
|
||||
bool e2d::EString::operator<=(EString const &str) const
|
||||
{
|
||||
for (int i = 0; i <= _size; i++)
|
||||
if (_string[i] != str._string[i])
|
||||
return _string[i] < str[i];
|
||||
return true;
|
||||
}
|
||||
|
||||
bool e2d::EString::operator>(EString const &str) const
|
||||
{
|
||||
for (int i = 0; i <= _size; i++)
|
||||
if (_string[i] != str._string[i])
|
||||
return _string[i] > str[i];
|
||||
return false;
|
||||
}
|
||||
|
||||
bool e2d::EString::operator>=(EString const &str) const
|
||||
{
|
||||
for (int i = 0; i <= _size; i++)
|
||||
if (_string[i] != str._string[i])
|
||||
return _string[i] > str[i];
|
||||
return true;
|
||||
}
|
||||
|
||||
unsigned int e2d::EString::hash() const
|
||||
{
|
||||
unsigned int hash = 0;
|
||||
|
|
|
|||
|
|
@ -182,6 +182,11 @@ public:
|
|||
return (*this) += ss.str();
|
||||
}
|
||||
|
||||
bool operator < (EString const&) const;
|
||||
bool operator <= (EString const&) const;
|
||||
bool operator > (EString const&) const;
|
||||
bool operator >= (EString const&) const;
|
||||
|
||||
friend std::wistream &operator>>(std::wistream &, EString &);
|
||||
|
||||
operator const wchar_t*() const { return _string; }
|
||||
|
|
|
|||
Loading…
Reference in New Issue