首先我们来仔细研究string
首先我们需要实现string的构造函数和析构函数。有new就有delete.
然后我们实现size()和c_str(),其中c_str就是可以将string类型转换为char*类型返回。
通过运算符重载,我们就可以实现string的[]访问。
然后我们实现+=和append。
insert实现的时候要避免end变成负数(size_t变成负数就会是无穷大)
其次要防止(int)的-1与size_t类型比较,否则由于整形提升也会出错。
这里实现字符串整个插
上面那句话是一个特殊处理。
然后实现find和substr这都是和数据结构的实现非常像的。
然后就是clear的实现
然后就是流插入和流提取的实现
但是要注意用in.get()提取,如果用in由于cin会省略空格和回车,会导致陷入死循环。