#include "iostream" using namespace std; class MyString { public:     MyString(const char *str = NULL);//构造函数,默认为空     MyString(const MyString &other);//拷贝构造函数     ~MyString(void);//析构函数     MyString & operator = (const MyString & other);//赋值函数     void a() { cout << *m_data << endl; } private:     char *m_data; }; MyString::MyString(const char *str)//构造函数,默认为空 {     int len = strlen(str)+1;     m_data = new char[len];     if (m_data != NULL)     {         if (str == NULL)         {             m_data = '\0';         }         else         {             if (m_data != str)             {                 strcpy_s(m_data, len, str);             }         }     } } MyString::MyString(const MyString &other)//拷贝构造函数 {     if (other.m_data != m_data)     {         int len = strlen(other.m_data) + 1;         if (other.m_data != NULL)         {             m_data = new char[len];         }         if (m_data != NULL)         {             strcpy_s(m_data, len, other.m_data);          }     } } MyString::~MyString(void)//析构函数,无参数无输出 {     delete[] m_data;     m_data = NULL; } MyString & MyString::operator= (const MyString & other)//赋值函数,返回引用 {     if (this==&other)     {         return *this;     }     delete[] m_data;     int len = strlen(other.m_data) + 1;     m_data = new char[len];     if (m_data != NULL)     {         if (this->m_data != other.m_data)         {             strcpy_s(m_data, len, other.m_data);         }     }     return *this; }
点赞 评论

相关推荐

Aurora23:属于挂一半,暂时进池子了,隔一段时间没有其他组捞的话就彻底结束了
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务