首页 >后端开发 >C++ >什么时候可以从 C 标准库类继承?

什么时候可以从 C 标准库类继承?

Susan Sarandon
Susan Sarandon原创
2024-11-03 13:28:03561浏览

When is It Acceptable to Inherit from C   Standard Library Classes?

通过继承扩展 C 标准库

虽然通常认为从 C 标准库类继承是不可取的,但也有一些值得注意的例外.

可识别的继承类

确定标准库类是否用于继承可能具有挑战性。但是,以下准则可以提供一些见解:

  • 如果类具有虚方法,则它可能是继承的候选者。
  • 过多的“friend”声明表明存在封装问题,从而导致继承不太合适。
  • 应考虑使用模板进行专门化而不是继承。
  • 基于策略的机制,如 std::char_traits,表明继承不是有意的。

派生类要求

从标准库类继承时,应应用里氏替换原则 (LSP)。可观察的行为,例如 std::exception 中的 What() 函数,应该与基类匹配。在这种情况下,与标准的一致性相比,正确性更重要。

结论

虽然标准本身缺乏关于扩展标准库的明确指导,但至关重要仔细考虑类的预期用途并明智地应用继承原则。

以上是什么时候可以从 C 标准库类继承?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn