Website Summary Files Commits Branches @commit @diff @stats
path: root / src / Generic / String / String.cpp
diff options
context:
space:
mode:
Commitd774bd68d5e068b5db6e81c2dbad6e0dd2db00c1 (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-07 10:37:34 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-05-07 10:37:34 +0300
Files353749b612b2fd8c7a2e7667e691d7b38db313f9 /src/Generic/String/String.cpp
FMI-OOP-P1_TicketSystem-d774bd68d5e068b5db6e81c2dbad6e0dd2db00c1.tar
FMI-OOP-P1_TicketSystem-d774bd68d5e068b5db6e81c2dbad6e0dd2db00c1.tar.gz
FMI-OOP-P1_TicketSystem-d774bd68d5e068b5db6e81c2dbad6e0dd2db00c1.zip
Parent04e243019dadd6e1e966fc5086759bd14fe44876 (diff)
Autocommit at 07.05.2022 @ 10:37
1 files changed, 13 insertions, 1 deletions
-rw-r--r--src/Generic/String/String.cpp14
diff --git a/src/Generic/String/String.cpp b/src/Generic/String/String.cpp
index 055f48e..b1e2889 100644
--- a/src/Generic/String/String.cpp
+++ b/src/Generic/String/String.cpp
@@ -18,13 +18,25 @@ void String::copyFrom(const String& other) {
String::String(const char* str) {
length = strlen(str) + 1; // capture terminating zero
this->str = new char[length];
- strcpy(this->str, str);
+ strncpy(this->str, str, length);
}
const char* String::get_cstr() const {
return str;
}
+String& String::operator+=(const String& other) {
+ char* newStr = new char[length + other.length + 1];
+ strncpy(newStr, str, length);
+ strncat(newStr, other.str, other.length + 1);
+
+ delete[] str;
+ str = newStr;
+ length += other.length;
+
+ return *this;
+}
+
String::String() : String("") {}
String::String(const String& other) {