首頁 >後端開發 >C++ >什麼時候可以從 C 標準函式庫類別繼承?

什麼時候可以從 C 標準函式庫類別繼承?

Susan Sarandon
Susan Sarandon原創
2024-11-03 13:28:03561瀏覽

When is It Acceptable to Inherit from C   Standard Library Classes?

透過繼承擴充C 標準函式庫

雖然通常認為從C 標準庫類別繼承是不可取的,但也有一些值得注意的例外.

可識別的繼承類別

確定標準庫類別是否用於繼承可能具有挑戰性。但是,以下準則可以提供一些見解:

  • 如果類別具有虛方法,則它可能是繼承的候選者。
  • 過多的「friend」聲明表明存在封裝問題,從而導致繼承不太合適。
  • 應考慮使用模板進行專門化而不是繼承。
  • 基於策略的機制,如 std::char_traits,顯示繼承不是有意的。

衍生類別要求

從標準庫類別繼承時,應應用里氏替換原則 (LSP)。可觀察的行為,例如 std::exception 中的 What() 函數,應該與基底類別相符。在這種情況下,與標準的一致性相比,正確性更重要。

結論

雖然標準本身缺乏關於擴展標準庫的明確指導,但至關重要仔細考慮類的預期用途並明智地應用繼承原則。

以上是什麼時候可以從 C 標準函式庫類別繼承?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn