सी ++ 11 के लिए धन्यवाद हमें स्कॉप्ड और मजबूत टाइप किए गए एनम्स मिल गए हैं।
लेकिन क्या यह भी विस्तार योग्य होने की कोई योजना है?विस्तारणीय एनम्स के लिए योजना
कुछ इस तरह:
enum class OneTwoThree : char {one=1, two=2, three=3};
enum class Four : char {four=4} extends OneTwoThree;
जहाँ तक मुझे पता है, नहीं। – Vitaliy
यदि मुझे गलत नहीं लगता है, तो 'एनम क्लास' घोषणा सिर्फ एनम मूल्य/पूर्णांक/आदि के बीच अंतर्निहित रूपांतरणों को रोकने के लिए कहती है, यह वास्तव में enum को पूर्ण प्रकार का प्रतिनिधित्व करने का कारण नहीं बनाता है क्योंकि यह जावा/पायथन/आदि। उल्लेख नहीं है कि subclassing के लिए वाक्यविन्यास पहले से ही अंतर्निहित डेटा प्रकार को इंगित करने के लिए उपयोग किया जाता है और 'विस्तार' सी ++ कीवर्ड नहीं है, और सीआई ++ मानक समिति आईआईआरसी नए कीवर्ड जोड़ने को पसंद नहीं करता है। यदि आपको वास्तव में सी ++ में एक उप-वर्गीकृत समेकित प्रकार की आवश्यकता है, तो आप भिन्नता वाले तर्कों के साथ एक टेम्पलेट का उपयोग करना बेहतर कर सकते हैं, जो आपको सभी संकलन-समय की अच्छीता प्रदान करेगा – JAB
@JAB: _Complete type_ का C++ में एक विशिष्ट अर्थ है, और * * प्रत्येक ** 'enum' प्रकार एक _complete type_ है। 'शून्य 'एक प्रकार का उदाहरण है जो पूर्ण नहीं है। – MSalters