通过继承扩展标准库
人们普遍认为 C 标准库通常不打算通过继承来扩展。然而,经过仔细检查,很明显该库的某些方面确实是为此目的而设计的。
标准库中的预期扩展点
一个这样的组件是 std::Exception 类。它明确旨在继承,允许创建自定义异常类型。这样做时,应考虑某些准则:
扩展时的接口一致性
作为最佳实践,从标准库类继承时,遵守 ISO 标准中定义的接口非常重要。这意味着,例如,继承的异常类的 What() 成员函数应该返回窄文本字符串 (NTBS),以确保与期望 std::exception 的函数的兼容性。虽然使用带有不符合标准的 What() 函数的异常类的程序在技术上仍然可以编译,但它偏离了预期目的并引入了潜在的兼容性问题。
以上是C标准库可以通过继承来扩展吗?的详细内容。更多信息请关注PHP中文网其他相关文章!