通过继承扩展 C 标准库
普遍的看法是 C 标准库不应该通过继承来扩展。然而, std::Exception 的存在挑战了这个概念。因此,出现了以下问题:
标准库类可以通过继承来扩展吗?
除了std::Exception之外,还不清楚还有哪些标准库类是为了继承。确定合适候选者的实用方法如下:
从标准库类继承的含义
当从像 std::exception 这样的标准库类继承时,子类是否必须遵守原始接口是有争议的。然而,“里氏替换原则”(LSP)表明,就客户端而言,子类的行为应该与基类的行为一致。
因此,最好的做法是确保子类的 What() 成员函数返回非空指针,即使标准没有明确要求 std::exception 的子类这样做。
以上是我们可以通过继承来扩展 C 标准库吗?的详细内容。更多信息请关注PHP中文网其他相关文章!