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