Grazie a C++ 11 abbiamo enumerati con ambito e fortemente digitati.
Ma ci sono piani per ottenere anche questo allungabile?Piani per Enum estendibili
Qualcosa di simile a questo:
enum class OneTwoThree : char {one=1, two=2, three=3};
enum class Four : char {four=4} extends OneTwoThree;
Per quanto ne so, no. – Vitaliy
Se non sbaglio, la dichiarazione 'enum class' dice solo di proibire conversioni implicite tra valori enumerati/interi/ecc., In realtà non causa l'enum che rappresenta un tipo completo come in Java/Python/eccetera. Per non parlare del fatto che la sintassi per la sottoclasse è già utilizzata per indicare il tipo di dati sottostante e 'extends' non è una parola chiave C++, e iirc al comitato standard C++ non ama aggiungere nuove parole chiave. Se hai davvero bisogno di un tipo enumerato sottoclassato in C++, è meglio usare un modello con argomenti variadici, che ti darà tutta la piacevolezza in fase di compilazione delle enumerazioni – JAB
@JAB: _Complete type_ ha un significato specifico in C++ e * * ogni ** 'enum' è un tipo _complete_. 'void' è un esempio di un tipo che non è completo. – MSalters