更多课程 选择中心

C/C++培训
达内IT学院

400-111-8989

C++学习:实现简单的string类

  • 发布:C++培训
  • 来源:C++资讯
  • 时间:2020-04-21 17:16

作为C++从业者,我相信都会被考察过实现简单的string类,包括构造、析构、拷贝构造以及赋值拷贝等,因为这能够很好的考察面试者的C++基本功。具体实现如下:

class string {

public:

string(const char* cstr = nullptr)
    {
        if (cstr) {

m_data = new char[strlen(cstr) + 1];
            strcpy(m_data, cstr);
        } else {
            m_data = new char[1];
            *m_data = '\0';
        }
    }
    string(const string& str)
    {
        m_data = new char[strlen(str.m_data) + 1];
        strcpy(m_data, str.m_data);
    }

~string()
    {
        delete[] m_data;
    }
    string& operator = (const string& rhs)
    {
        if (this == &rhs)
            return *this;

        delete[] m_data;
        m_data = new char[strlen(rhs.m_data) + 1];
        strcpy(m_data, rhs.m_data);
        return *this;
    }

friend ostream& operator << (ostream& os, const string& rhs)
    {

return os << rhs.m_data;
    }
private:
    char* m_data;

};

版权声明:转载文章来自公开网络,版权归作者本人所有,推送文章除非无法确认,我们都会注明作者和来源。如果出处有误或侵犯到原作者权益,请与我们联系删除或授权事宜。

预约申请免费试听课

填写下面表单即可预约申请免费试听!怕钱不够?可就业挣钱后再付学费! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:c++程序字符型的实例讲解
下一篇:C语言和C++都能做什么呢?

C语言宏定义的几种使用方法

C与C++内存管理避坑指南

C/C++代码规范注释有哪些讲究?

C语言中,全局变量滥用的后果竟如此严重?

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省