枚舉類別中的基類繼承
在C 中,枚舉是一種枚舉類型,表示一組與整數關聯的命名值。雖然枚舉可以方便地表示常數,但在某些情況下,您可能需要從現有枚舉繼承來建立新枚舉。
問題中提供的程式碼片段示範了從一個枚舉繼承的嘗試( eBase) 到另一個 (eDerived),但這在 C 中不直接支援。枚舉不是類,因此它們不能在傳統意義上繼承。
但是,有一個解決方法可以實現類似的功能。透過定義一個表示枚舉常數的底層類,我們可以繼承該類別來建立新的枚舉類型:
<code class="cpp">enum class Enum : int { public: EnumValue One = 1, EnumValue Two, EnumValue Last }; enum class EnumDerived : int { public: EnumValue Three = Enum::Last, EnumValue Four, EnumValue Five };</code>
在此範例中,Enum 類別表示基本枚舉,EnumDerived 類別繼承從它。 EnumValue 值代表各個枚舉常數。
要存取繼承枚舉中的值,我們使用完全限定名稱,如以下程式碼所示:
<code class="cpp">int main() { std::cout << EnumDerived::EnumValueOne << std::endl; std::cout << EnumDerived::EnumValueFour << std::endl; }</code>
透過利用此方法,我們可以在C 中的枚舉類中實作基底類別繼承,提供一種擴展現有枚舉並建立具有附加價值的新枚舉的方法。
以上是如何在 C 枚舉類別中實作基底類別繼承?的詳細內容。更多資訊請關注PHP中文網其他相關文章!