首页 > 代码库 > 自己实现的string类

自己实现的string类

自己实现的一个string类,包括基本构造,复制构造,赋值和析构函数,比较函数,输入输出函数,锻炼一下动手能力。

#include <iostream>
#include <cstring>
#include <iomanip>

using namespace std;

class MyString{
public:
    MyString(const char *s=NULL);
    MyString(const MyString& rhs);
    MyString& operator=(const MyString& rhs);
    MyString& operator=(const char* s);
    ~MyString();
    char& operator[](int i);
    int length() const {return len; }
    char *c_str(){return data;}

    friend bool operator<(const MyString &st1, const MyString &st2);
    friend bool operator>(const MyString &st1, const MyString &st2);
    friend bool operator==(const MyString &st1, const MyString &st2);
    friend MyString operator+(const MyString &s1, const MyString &s2);

    friend ostream& operator<<(ostream &os, const MyString &st);
    friend istream& operator>>(istream &is, MyString &st);

private:
    char *data;
    int len;
};


MyString::MyString(const char *s)
{
    if(NULL==s)
    {
        len=0;
        data=http://www.mamicode.com/new char[1];>

自己实现的string类