• C++4个基本函数


    class String

    {

       public:

               String(const char *str = NULL);     // 普通构造函数

               String(const String &other);     // 拷贝构造函数

               ~ String(void);         // 析构函数

               String & operator =(const String &other); // 赋值函数

       private:

               char   *m_String;    //私有成员,保存字符串

    };

     String::~String(void)            

    {

           cout<<"Destructing"<<endl;

           delete [] m_String;                     

      

    } 

     String::String(const char *str)     

    {

           cout<<"Construcing"<<ENDL;

           if(str==NULL)                         

          {

                m_String = new char[1];   

               *m_String = '\0';                     

           }                                       

            else {

              int length = strlen(str);          

              m_String = new char[length+1];       

              strcpy(m_String, str);               

           }

    }

    String::String(const String &other) 

    {

          cout<<"Constructing Copy"<<endl;

          int length = strlen(other.m_String); 

          m_String = new char[length+1];        

          strcpy(m_String, other.m_String);        

    }

    String & String::operator =(const String &other)  

    {

           cout<<"Operate = Function"<<endl;               

           if(this == &other)

                 return *this;

          //释放原有的内存资源          

          delete [] m_String;

        //分配新的内存资源,并复制内容

          int length = strlen(other.m_String);

          m_String = new char[length+1];        

          strcpy(m_String, other.m_String);         

          return *this;

    }

    void main()

    {

      String a("auss");

      String b("MTK");

      String c(a);

      c=b;

    }

  • 相关阅读:
    去除图片水印
    CALayer
    UIKit Animation
    CoreAnimation
    3DTouch
    键盘事件
    weChat聊天发送图片带有小尖角的实现
    webView 和 js 交互 之 屏蔽 样式
    iOS socket编程
    tableView尾部多处一部分空白高度
  • 原文地址:https://www.cnblogs.com/lovemo1314/p/2219736.html
Copyright © 2020-2023  润新知