【发布时间】:2020-06-18 13:28:51
【问题描述】:
我只是错过了c++标准库字符串类中的一些函数,所以我只想自己添加这些。我是这样写的:
#include <string>
class String : public std::string
{
public:
// some new fancy functions
};
后来通过阅读一些论坛注意到,从标准库中继承 std::string 和任何其他容器是一个坏主意。
我只想要普通的字符串,但是我自己编写的附加功能,我怎样才能以正确的方式实现呢?还是没有办法做对,我必须纠正我自己的字符串类?
【问题讨论】:
-
这是最正确的做法,但通常是个坏主意。如果您想要新功能,最好编写与
std::string一起使用的功能。如果它们是通用的并且也可以与其他容器一起使用,则可以加分。
标签: c++ string class inheritance c++-standard-library