From 1e4762258f3e2d7db1045f3034e870f84cea7977 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Fri, 15 Apr 2022 09:44:49 +0300 Subject: Moved compare to DynStr --- .../Object-oriented Programming/Solutions Sem. 08/ex3/DynStr.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'Year 1/Object-oriented Programming/Solutions Sem. 08/ex3/DynStr.cpp') diff --git a/Year 1/Object-oriented Programming/Solutions Sem. 08/ex3/DynStr.cpp b/Year 1/Object-oriented Programming/Solutions Sem. 08/ex3/DynStr.cpp index bac5c83..97a2fb4 100644 --- a/Year 1/Object-oriented Programming/Solutions Sem. 08/ex3/DynStr.cpp +++ b/Year 1/Object-oriented Programming/Solutions Sem. 08/ex3/DynStr.cpp @@ -48,3 +48,11 @@ DynStr::~DynStr() { const char* DynStr::get_str() const { return str; } + +int DynStr::compare(const char* other) const { + int cmp = strcmp(str, other); + // On some compilers (gcc) strcmp returns the difference, but we want it to return -1, 0 or 1 + if (cmp > 1) cmp = 1; + else if (cmp < -1) cmp = -1; + return cmp; +} -- cgit v1.3.1-23-gd82d