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;

    }

  • 相关阅读:
    mongodb基础系列——数据库查询数据返回前台JSP(一)
    整型数组处理算法(十二)请实现一个函数:最长顺子。[风林火山]
    学习C++服务端一:MySql与C++
    【算法】深度优先搜索(DFS)III
    DOS cmd
    C# wpf程序获取当前程序版本
    Climbing Stairs
    Java深入
    非对称算法,散列(Hash)以及证书的那些事
    省市区镇(能够选四级)联动点击自己主动展开下一级
  • 原文地址:https://www.cnblogs.com/SnailProgramer/p/4510122.html
Copyright © 2011-2022 走看看