MyString::MyString(const char* str) {     if (str == nullptr) {         m_data = new char[1];         *m_data = '\0';     }     else {         int length = strlen(str);         m_data = new char[length + 1];         strcpy(m_data, str);     }
}

MyString::MyString(const MyString& other) {     int length = strlen(other.m_data);     m_data = new char[length + 1];     strcpy(m_data, other.m_data);
}

MyString::~MyString() {     delete[] m_data;
}

MyString& MyString::operator = (const MyString& other) {     if(this == &other) return *this;     delete[] m_data;     m_data = nullptr;     m_data = new char[strlen(other.m_data) + 1];     strcpy(m_data, other.m_data);     return *this;
}