#define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace std; class MyString { public: MyString::MyString(); //无参构造 MyString(const char* str ); //默认参数 MyString(const MyString& other); //拷贝构造 MyString& operator=(const MyString& other); //重载等号(参数不同) MyString& operator=(const char* str); //重载等号(参数不同) ~MyString(); //析构函数 char& operator[](unsigned int index); //重载[]号 MyString& operator+=(const MyString& other); //重载+=号 friend MyString operator+(const MyString& s1, const MyString& s2); //重载加号;用全局的友元函数 friend ostream& operator<<(ostream& os, const MyString& str); //重载左移操作符;用全局函数
friend istream& operator>>(istream& is, MyString& str); //重载右移操作符,用全局函数 private: char* m_str; }; MyString::MyString() { m_str = new char[1]; m_str = '