通过继承扩展 C 标准库
C 标准库被广泛认为是难以接近的继承堡垒,但它背后隐藏着一个隐藏的异常它的队伍。 std::exception 类是独立的,是为扩展而明确设计的唯一实体。这就引出了一个问题:
其他标准库类可以扩展吗?
虽然不存在明确的列表,但答案取决于破译标准的意图。务实的方法包括仔细审查以下标准:
含义从标准库类继承的
扩展 std::exception 突出了另一个问题:
遵守接口期望
当继承自标准库类,必须尊重继承的接口。例如,更改 What() 成员函数以返回空指针而不是有效描述的子类将违反 ISO 标准中指定的接口。虽然严格来说不是标准一致性问题,但它会损害正确性并破坏基类的可替代性原则。
以上是除了 `std::exception` 之外,您可以扩展 C 标准库中的其他类吗?的详细内容。更多信息请关注PHP中文网其他相关文章!