Summary Files Commits Branches @commit @diff @stats
path: root / Year 1 / Object-oriented Programming
diff options
context:
space:
mode:
Commitd5bf0fd7d55dbe6c2c8d5228e7d531128298a8c0 (patch)
Author
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-04-15 08:09:12 +0300
Committer
 Syndamia <kamen.d.mladenov@protonmail.com>
2022-04-15 08:09:12 +0300
Filesdd1936736e2a42d353e9944596ca04957177b3d3 /Year 1/Object-oriented Programming
uni-projects-d5bf0fd7d55dbe6c2c8d5228e7d531128298a8c0.tar
uni-projects-d5bf0fd7d55dbe6c2c8d5228e7d531128298a8c0.tar.gz
uni-projects-d5bf0fd7d55dbe6c2c8d5228e7d531128298a8c0.zip
Parent970ddb225bc2064903be787ea81afa129a1b83a6 (diff)
DynStr now accomodates terminating zeroes
1 files changed, 5 insertions, 5 deletions
-rw-r--r--Year 1/Object-oriented Programming/Solutions Sem. 08/ex3/DynStr.cpp10
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 4f4d52e..bac5c83 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
@@ -4,7 +4,7 @@
/* Private */
void DynStr::free() {
- if(str != nullptr) delete[] str;
+ delete[] str;
}
void DynStr::copyFrom(const DynStr& other) {
@@ -17,13 +17,13 @@ void DynStr::copyFrom(const DynStr& other) {
/* Public */
-DynStr::DynStr() {
- str = nullptr;
- length = 0;
-}
+DynStr::DynStr() : DynStr("")
+{}
DynStr::DynStr(const char* str) {
int strLen = strlen(str);
+ strLen++; // Make space for \0
+
this->str = new char[strLen];
strcpy(this->str, str);
length = strLen;