// // Created by lenfrex on 2022/4/4. // #ifndef WORK20220401_CSTRING_H #define WORK20220401_CSTRING_H #include #include "utility" using namespace std::rel_ops; class CString { private: // 字符数组做字符串 char *data = nullptr; // 字符串实际长度 int length = 0; // 已分配的字符数量 int allocSize = 0; public: explicit CString(int size); CString(char *data, int length); explicit CString(char *source); CString(const CString &source); CString(); ~CString(); bool operator==(const CString &source) const; bool operator>(const CString &compareString) const; CString &operator+=(const CString &source); CString &operator=(const CString &source); friend std::ostream &operator<<(std::ostream &outputStream, const CString &source); friend std::istream &operator>>(std::istream &outputStream, CString &source); char operator[](int i); }; #endif //WORK20220401_CSTRING_H