千家信息网

LeetCode如何实现赋值运算符重载

发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,这篇文章将为大家详细讲解有关LeetCode如何实现赋值运算符重载,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1 #include
千家信息网最后更新 2024年11月14日LeetCode如何实现赋值运算符重载

这篇文章将为大家详细讲解有关LeetCode如何实现赋值运算符重载,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

1 #include                                                                                                                           2 #include  3   4 class MyString  5 {  6 public:  7     MyString()  8     {  9         _data = new char[1]; 10         _data = '\0'; 11     } 12  13     MyString(char* str) 14     { 15         assert(str); 16         _data = new char[strlen(str) + 1]; 17         strcpy(_data, str); 18     } 19  20     MyString(const MyString& string) 21     { 22         assert(string._data); 23         _data = new char[strlen(string._data) + 1]; 24         strcpy(_data, string._data); 25     } 26  27     ~MyString() 28     { 29         delete[] _data; 30     } 31  32     MyString& operator= (const MyString& string) 33     { 34         assert(string._data); 35         if(*this == string) 36         { 37             return *this; 38         } 39  40         delete[] _data; 41         _data = NULL; 42         _data = new char[strlen(string._data) + 1]; 43         strcpy(_data, string._data); 44         return *this; 45     } 46  47 protected: 48     char* _str; 49 }
1 #include  2 #include  3   4 class MyString  5 {  6 public:  7     MyString()  8     {  9         _data = new char[1]; 10         _data = '\0'; 11     } 12  13     MyString(char* str) 14     { 15         assert(str); 16         _data = new char[strlen(str) + 1]; 17         strcpy(_data, str); 18     } 19  20     MyString(const MyString& string) 21     { 22         assert(string._data); 23         _data = new char[strlen(string._data) + 1]; 24         strcpy(_data, string._data); 25     } 26                                                                                                                                            27     ~MyString() 28     { 29         delete[] _data; 30     } 31  32     MyString& operator= (const MyString& string) 33     { 34         assert(string._data); 35         if(*this != string) 36         { 37             MyString tem(string); 38  39             char* del = tem._data 40             tem._data = _data; 41             _data = del; 42         } 43         return *this; 44     } 45  46 protected: 47     char* _str; 48 }

关于"LeetCode如何实现赋值运算符重载"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

0