透過繼承擴展C 標準庫
C 標準庫被廣泛認為是難以接近的繼承堡壘,但它背後隱藏著一個隱藏的異常它的隊伍。 std::exception 類別是獨立的,是為擴展而明確設計的唯一實體。這就引出了一個問題:
其他標準庫類別可以擴充嗎?
雖然不存在明確的列表,但答案取決於破解標準的意圖。務實的方法包括仔細檢視以下標準:
含義從標準庫繼承類別
擴充std::exception 突出了另一個問題:
遵守介面期望
從標準函式庫類別繼承時,必須尊重繼承的介面。例如,更改 What() 成員函數以傳回空指標而不是有效描述的子類別將違反 ISO 標準中指定的介面。雖然嚴格來說不是標準一致性問題,但它會損害正確性並破壞基類的可替代性原則。
以上是除了 `std::exception` 之外,您可以擴展 C 標準庫中的其他類別嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!