string的实现

来源:互联网 发布:dota2天梯各分段 知乎 编辑:程序博客网 时间:2024/05/29 10:59

重写了string的构造函数和赋值运算符

#include<iostream>using namespace std;class Mystring{private:    char * data;public:    Mystring(const char * src)    {        if (src)        {            data = new char[strlen(src) + 1];            strcpy(data, src);        }        else        {            data = new char[1];            *data = '\0';        }    }    Mystring & operator=(const Mystring & src1)//返回Mystring是为了支持链式操作    {        if (this == &src1)            return *this;        delete[]data;        data = new char[strlen(src1.data) + 1];        strcpy(data, src1.data);        return *this;    }    void print()    {        cout << data << endl;    }};int main(){    Mystring A("abc");    A.print();    Mystring B = A;    B.print();}

测试结果:

这里写图片描述

原创粉丝点击