首頁  >  文章  >  後端開發  >  如何在 C 枚舉類別中實作基底類別繼承?

如何在 C 枚舉類別中實作基底類別繼承?

Susan Sarandon
Susan Sarandon原創
2024-10-30 20:20:02939瀏覽

How Can I Achieve Base Class Inheritance in C   Enum Classes?

枚舉類別中的基類繼承

在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中文網其他相關文章!

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