zoukankan      html  css  js  c++  java
  • String类的实现

    1.

    class String

    {

    public:

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

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

      ~String();             // 析构函数

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

    private:

      char* m_data;

    }

    String::~String()

    {

      delete[] m_data;

    }

    String::String(const char*str)

    {

      if(str == NULL)

      {

        m_data = new char[1];

        *m_data = ''

      }

      else

      {

        int length = strlen(str);

        m_data = new char[length + 1];

        strcpy(m_data,str);

      }

    }

    String::String(const String &other)

    {

      int length = strlen(other.m_data);

      m_data = new char[lenght + 1];

      strcpy(m_data,other.m_data);

    }

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

    {

      if(this == &other) return *this;

      delete[] m_data;

      int length = strlen(other.m_data);

      m_data = new char[length + 1];

      strcpy(m_data, other.m_data);

      return *this;

    }

    2.

    int strlen(const char *str)

    {

      assert(str != NULL);

      int len = 0;

      while((*str++) != '')

        len++;

      return len;

    }

    3.

    void strcpy(char *strDest, char *strSrc)

    {

      assert((strDest != NULL) && (strSrc != NULL));

      char *address = strDest;

      while((*strDest++ = *strSrc++) != '');

      return address;

    }

    4.

    char* _cdecl strcat(char *dest, const char *src)

    {

      char* cp = dest;

      while(*cp) cp++;

      while(*cp++ = *src++);

      return cp;

    }

    5.

    int strCmp(char *src,char *dest)

    {

      while(*src == *dest  && *src != ''  && *dest != '')

      {

        src++;

        dest++;

      }

      if(*src == ''  && *dest == '')

        ruturn 0;

      else

        return -1;

    }

  • 相关阅读:
    Coding 账户与 本地 Git 客户端的配置
    leetcode_sort-list
    leetcode_insertion-sort-list
    leetcode_move-zeroes
    search-insert-position
    leetcode_remove-nth-node-from-end-of-list
    leetcode_queue-reconstruction-by-height
    leetcode_valid-parentheses
    leetcode_swap-nodes-in-pairs
    20201115-东北师范大学-助教-周总结-第9次
  • 原文地址:https://www.cnblogs.com/SnailProgramer/p/4510122.html
Copyright © 2011-2022 走看看