
首先我们来仔细研究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会省略空格和回车,会导致陷入死循环。