我有一个有效地接受字符串的方法。但是,我想要使用的字符串子集非常有限。我正在考虑将 std::string 作为某个类进行 typedef'ing,并显式调用函数。不过,我不确定这是否有效。有想法吗?
通常的规则仍然适用:该类不是设计为继承的,并且它的析构函数不是虚拟的,因此如果您向上转换为 std::string 基类,并让该对象被销毁,您的派生类'析构函数不会被调用。
如果你能保证这种事永远不会发生,那就继续吧。
否则,你可以使std::string
你的班级的成员,而不是基类。或者你可以使用私有继承。这种方法的问题在于,您必须重新实现字符串接口才能使该类可用作字符串。
或者你可以定义你的类来公开getString()
返回内部的函数std::string
目的。然后你仍然可以传递你自己的类,如果你试图传递一个类,编译器会抱怨std::string
,但是当您需要时可以访问内部字符串。这可能是最好的妥协。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)