无标题文章

类string的构造函数、拷贝构造函数和析构函数 引用http://www.cppblog.com/life02/archive/2011/03/07/96085.html  在这个帖子的基础上稍微添加修改了点内容。String 类的原型如下class String{  public:          String(const char *str=NULL); //构造函数          String(const String &other); //拷贝构造函数          ~String(void); //析构函数          String& operator=(const String &other); //等号操作符重载          ShowString();  private:          char *m_data; //指针};String::~String(){    delete [] m_data; //析构函数,释放地址空间}String::String(const char *str){    if (str==NULL)//当初始化串不存在的时候,为m_data申请一个空间存放'\0';    {        m_data=new char[1];        *m_data='\0';    }    else//当初始化串存在的时候,为m_data申请同样大小的空间存放该串;    {        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 [length+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 [length+1];    strcpy(m_data,other.m_data);    return *this; }String::ShowString()//由于m_data是私有成员,对象只能通过public成员函数来访问;{        cout




最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 题目类型 a.C++与C差异(1-18) 1.C和C++中struct有什么区别? C没有Protection行为...
    阿面a阅读 12,323评论 0 10
  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 8,895评论 0 4
  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    40c0490e5268阅读 5,894评论 0 9
  • 恋上一阕无词的歌 在我眉间化蝶婆娑 唱尽离合情是什么 心深处最久的沉默 恋上一朵无根的火 在你掌心生根降落 种下爱...
    水仙已乘鲤阅读 1,706评论 0 0
  • 文 / 竹叶潇潇水迢迢 NO.17 图片来自网络 最近看了一期情感节目,触动比较大。 节目中的小情侣,是这么个情况...
    竹叶潇潇水迢迢阅读 3,273评论 0 2

友情链接更多精彩内容