透過繼承擴充 C 標準函式庫
普遍的看法是 C 標準函式庫不應該透過繼承來擴充。然而, std::Exception 的存在挑戰了這個概念。因此,出現了以下問題:
標準庫類別可以透過繼承來擴展嗎?
除了std::Exception之外,還不清楚還有哪些標準函式庫類別是為了繼承。確定合適候選者的實用方法如下:
從標準庫類別繼承的含義
當從像std::exception 這樣的標準庫類繼承時,子類是否必須遵守原始接口是有爭議的。然而,「里氏替換原則」(LSP)表明,就客戶端而言,子類別的行為應該與基類的行為一致。
因此,最好的做法是確保子類別的 What() 成員函數傳回非空指針,即使標準沒有明確要求 std::exception 的子類別這樣做。
以上是我們可以透過繼承來擴展 C 標準函式庫嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!