擴充枚舉:探索基本枚舉類別繼承
在C 中,枚舉提供了一種表示固定值集的便捷方法。但是,在某些情況下,您可能希望從現有枚舉類別繼承值。這個問題探討了實現這種繼承的可能性。
枚舉可以繼承其他枚舉嗎?
預設情況下,C 中的枚舉型別不能從其他枚舉繼承。但是,我們可以利用基於類別的方法來模擬枚舉繼承。
基於類別的枚舉繼承
以下程式碼示範如何建立基底枚舉和衍生枚舉使用類別:
<code class="cpp">#include <iostream> #include <ostream> class Enum { public: enum { One = 1, Two, Last }; }; class EnumDeriv : public Enum { public: enum { Three = Enum::Last, Four, Five }; }; int main() { std::cout << EnumDeriv::One << std::endl; std::cout << EnumDeriv::Four << std::endl; return 0; }</code>
在在此範例中,Enum 類別定義了一個具有三個值的枚舉:One、Two 和Last。 EnumDeriv 類別繼承自 Enum,並透過增加另外三個值來擴展它:三、四和五。
枚舉值的範圍在類別內,允許繼承值,同時保持名稱唯一性。在這種情況下,我們可以毫無歧義地訪問 EnumDeriv::One 和 EnumDeriv::Four。
基於類別的枚舉繼承的好處
以上是C 枚舉可以從其他枚舉繼承嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!