zoukankan      html  css  js  c++  java
  • 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;

    }

  • 相关阅读:
    【转】大数据求职者说
    【转】大数据东西辣么多,我该如何给自己一个清晰的定位呢?
    【转】大数据工程师需要学习哪些?
    【English】 Re-pick up English for learning big data (not updated regularly)
    【spark】spark应用(分布式估算圆周率+基于Spark MLlib的贷款风险预测)
    【idea】scala&sbt+idea+spark使用过程中问题汇总(不定期更新)
    【idea】scala&sbt+idea安装配置与测试
    spring boot热部署
    网段判断
    【转】python测试框架--doctest
  • 原文地址:https://www.cnblogs.com/lovemo1314/p/2219736.html
Copyright © 2011-2022 走看看