self-confidence,the source of all the power

导航

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;

}

posted on 2011-10-21 00:00  漩涡鸣人  阅读(527)  评论(0编辑  收藏  举报