diff options
1 files changed, 13 insertions, 4 deletions
| -rw-r--r-- | Sem. 07/MyString/MyString.cpp | 17 |
diff --git a/Sem. 07/MyString/MyString.cpp b/Sem. 07/MyString/MyString.cpp index 909a378..8c2a79f 100644 --- a/Sem. 07/MyString/MyString.cpp +++ b/Sem. 07/MyString/MyString.cpp @@ -21,9 +21,18 @@ MyString::MyString() MyString::MyString(const char* data)
{
- size = strlen(data);
- str = new char[size + 1];
- strcpy(str, data);
+ if(data == nullptr)
+ {
+ str = new char[1];
+ str[0] = '\0';
+ size = 0;
+ }
+ else
+ {
+ size = strlen(data);
+ str = new char[size + 1];
+ strcpy(str, data);
+ }
}
MyString::MyString(const MyString& other)
@@ -63,4 +72,4 @@ void MyString::concat(const MyString& other) const char* MyString::c_str() const
{
return str;
-}
\ No newline at end of file +}
|
