LeetCode如何实现赋值运算符重载-创新互联

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

成都创新互联是一家专注于网站建设、成都网站建设与策划设计,百色网站建设哪家好?成都创新互联做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:百色等地区。百色做网站价格咨询:18980820575
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如何实现赋值运算符重载”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享文章:LeetCode如何实现赋值运算符重载-创新互联
文章起源:http://pwwzsj.com/article/dhppio.html