"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Enums C++ podem herdar de outros Enums?

Enums C++ podem herdar de outros Enums?

Publicado em 2024-11-16
Navegar:263

Can C   Enums Inherit from Other Enums?

Extendendo Enums: Explorando a herança da classe Enum Base

Em C , enums fornecem uma maneira conveniente de representar conjuntos fixos de valores. No entanto, pode haver cenários em que você queira herdar valores de uma classe enum existente. Esta questão explora a possibilidade de alcançar tal herança.

Os Enums podem herdar outros Enums?

Por padrão, os tipos de enum em C não podem herdar de outros enums. No entanto, podemos aproveitar uma abordagem baseada em classe para simular herança de enum.

Herança de enum baseada em classe

O código a seguir demonstra como criar um enum base e derivado usando classes:

#include 
#include 

class Enum
{
public:
    enum
    {
        One = 1,
        Two,
        Last
    };
};

class EnumDeriv : public Enum
{
public:
    enum
    {
        Three = Enum::Last,
        Four,
        Five
    };
};

int main()
{
    std::cout 

Neste exemplo, a classe Enum define um enum com três valores: Um, Dois e Último. A classe EnumDeriv herda de Enum e a estende adicionando mais três valores: Três, Quatro e Cinco.

Os valores enum têm escopo dentro das classes, permitindo a herança de valores enquanto mantém a exclusividade do nome. Nesse caso, podemos acessar EnumDeriv::One e EnumDeriv::Four sem ambigüidade. herdar e estender conjuntos de valores existentes.

Fornece uma maneira consistente e extensível de lidar com enum herança.Mantém a exclusividade do nome dentro da enumeração derivada.

    Pode ser usado em conjunto com outros recursos de C , como modelos e macros.
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3