Maison >développement back-end >C++ >Pouvez-vous hériter d'une classe Enum en C ?

Pouvez-vous hériter d'une classe Enum en C ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-10-31 21:27:29393parcourir

Can You Inherit From an Enum Class in C  ?

Héritage de classe d'énumération de base en C

Une question courante qui se pose en programmation C est de savoir s'il est possible d'hériter d'une énumération d'une autre énumération. Cela permet la création d'une énumération dérivée qui développe les valeurs définies dans l'énumération de base.

L'exemple de code fourni illustre comment obtenir l'héritage de classe d'énumération de base en 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>

Dans cet exemple, la classe EnumDeriv hérite de la classe Enum. La valeur Three dans EnumDeriv est définie pour commencer à partir de la fin des valeurs définies dans Enum, permettant une continuation transparente des valeurs.

Lors de la compilation et de l'exécution du code, il affichera :

1
4

Cela démontre l'héritage réussi des valeurs de la classe Enum par EnumDeriv et la possibilité de définir des valeurs supplémentaires dans l'énumération dérivée. Ce modèle peut être utile pour organiser et étendre les valeurs d'énumération de manière plus hiérarchique.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn