Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C++

C++ Enum: एक पूर्ण गाइड

C++ Enum का उपयोग कैसे करें: एक गाइड

एक एन्यूमरेटेड टाइप एक उपयोगकर्ता-परिभाषित डेटा प्रकार है जिसे मानों की एक श्रृंखला से एक मान निर्दिष्ट किया जा सकता है।

एनम का उपयोग अक्सर प्रोग्रामिंग में तब किया जाता है जब एक वेरिएबल को केवल मानों के एक विशिष्ट सेट में से एक मान स्टोर करने में सक्षम होना चाहिए। उदाहरण के लिए, यदि आप चाहते हैं कि एक वेरिएबल केवल सप्ताह के दिनों को स्टोर करे, तो आप एन्यूमरेशन का उपयोग करना चाह सकते हैं।

यह ट्यूटोरियल उदाहरणों के संदर्भ में, C++ में एन्यूमरेशन की मूल बातें, एन्यूमरेशन को कैसे परिभाषित करें, और अपने कोड में एन्यूमरेशन का उपयोग कैसे करें, इसका पता लगाएगा। इस ट्यूटोरियल को पढ़ने के अंत तक, आप C++ में एनम का उपयोग करने में विशेषज्ञ होंगे।

C++ Enum

एन्यूमरेटेड टाइप, जिसे एनम टाइप के रूप में भी जाना जाता है, का उपयोग एक कस्टम डेटा प्रकार बनाने के लिए किया जाता है जिसमें संभावित मानों की एक निश्चित श्रृंखला होती है। एन्यूमरेशन एक उपयोगकर्ता-परिभाषित डेटा प्रकार है।

C++ में एक एनम को परिभाषित करने के लिए, enum कीवर्ड का उपयोग किया जाता है। C++ में एनम को परिभाषित करने के लिए सिंटैक्स यहां दिया गया है:

enum name { firstValue, secondValue, thirdValue, fourthValue };

आइए इस सिंटैक्स को इसके मुख्य घटकों में तोड़ें:

  • enum हमारे कोड को एक एन्यूमरेशन बनाने का निर्देश देता है।
  • name हमारे एन्यूमरेशन को दिया गया नाम है।
  • firstValue, secondValue, thirdValue, और fourthValue हमारे एन्यूमरेशन को निर्दिष्ट मान हैं। ये मान घुंघराले ब्रैकेट ({}) के एक सेट के भीतर संलग्न हैं।

इसके अलावा, आप एक एनम क्लास के डिफ़ॉल्ट मान को भी बदल सकते हैं। इसलिए, यदि आप चाहते हैं कि किसी मान का अपना नाम हो, तो आप एन्यूमरेशन में उसकी प्रविष्टि को एक नया डिफ़ॉल्ट मान निर्दिष्ट करके ऐसा कर सकते हैं। इस कार्य को पूरा करने के लिए हम निम्नलिखित कोड का उपयोग कर सकते हैं:

enum name { firstValue = 0, secondValue = 1 }

इस सिंटैक्स में, हमारे एनम में दो मान हैं। firstValue मान का मान 0 है, और secondValue मान का मान 1 है।

एनम उपयोगी हैं क्योंकि वे आपको एक वेरिएबल द्वारा धारण किए जा सकने वाले संभावित मानों को अधिक स्पष्ट रूप से परिभाषित करने की अनुमति देते हैं। उदाहरण के लिए, यदि आप केवल एक वेरिएबल को सप्ताह के दिनों को स्टोर करना चाहते हैं, तो एनम घोषित करने से आपके कोड में यह स्पष्ट हो जाता है कि वेरिएबल केवल सप्ताह के दिनों को स्टोर करने में सक्षम होना चाहिए।

एनम घोषित करें

मान लीजिए हम एक एप्लिकेशन बना रहे हैं जो डोनट शॉप के कैशियर को दिए गए प्रत्येक ऑर्डर को रिकॉर्ड करने और डोनट की लागत की गणना करने की अनुमति देता है।

हमारी शॉप केवल डोनट्स की एक सीमित श्रृंखला बेचती है, और इसलिए हम केवल कैशियर को हमारी इन्वेंट्री में डोनट्स के लिए ऑर्डर रिकॉर्ड करने में सक्षम होना चाहते हैं। हम चाहते हैं कि हमारा प्रोग्राम निम्नलिखित फ्लेवर्स को प्रोसेस करे: Raspberry, Strawberry, Powdered, Chocolate, और Cinnamon।

यह एक आदर्श उदाहरण है जहां एक एनम उपयोगी हो सकता है। हम चाहते हैं कि हमारा प्रोग्राम उपरोक्त फ्लेवर्स में ऑर्डर प्रोसेस करने तक सीमित हो, और इसलिए एनम का उपयोग करना एक अच्छा विचार है। C++ एनम घोषित करने के लिए हम निम्नलिखित कोड का उपयोग कर सकते हैं:

enum flavors { Raspberry, Strawberry, Powdered, Chocolate, Cinnamon }

हमारे कोड में, हम flavors नामक एक एनम घोषित करते हैं जिसमें पांच संभावित मान हैं। इसलिए, जब हम इस एनम से किसी वेरिएबल को मान निर्दिष्ट करने का प्रयास करते हैं, तो वेरिएबल केवल उन मानों को स्टोर करने में सक्षम होगा जो हमारे एनम में घोषित हैं।

यदि हम एक वेरिएबल घोषित करना चाहते हैं जो केवल हमारे flavors एनम से मान धारण कर सकता है, तो हम इस सिंटैक्स का उपयोग कर सकते हैं:

enum flavors orderFlavor.

हमने जो orderFlavor वेरिएबल अभी घोषित किया है, वह केवल flavors एनम में मान स्टोर कर सकता है।

एनम का उपयोग करना

अब जब हमने एनम घोषणा कर दी है, तो हम इसे अपने कोड में उपयोग कर सकते हैं। आइए डोनट स्टोर उदाहरण पर लौटें ताकि यह स्पष्ट किया जा सके कि हम C++ प्रोग्राम में एनम का उपयोग कैसे कर सकते हैं।

मान लीजिए हम एक प्रोग्राम बना रहे हैं जो हमारे डोनट स्टोर कैशियर को प्रत्येक ऑर्डर को रिकॉर्ड करने की अनुमति देता है। कैशियर को अभी रास्पबेरी डोनट के लिए एक ऑर्डर मिला है, और हम अपने प्रोग्राम में रास्पबेरी डोनट के लिए एक ऑर्डर बनाना चाहते हैं। हम निम्नलिखित कोड का उपयोग करके ऐसा कर सकते हैं:

#include <iostream>
using namespace std;
enum flavors { Raspberry, Strawberry, Powdered, Chocolate, Cinnamon }
int main() {
    enum flavors orderFlavor;
    orderFlavor = Raspberry;
    cout << "Donut ordered: 1x " << orderFlavor;
}

हमारा कोड वापस लौटाता है:

Donut ordered: 1x Raspberry

आइए हमारे कोड को तोड़ें। पहले, हमने flavors नामक एक एनम घोषित किया है जो डोनट शॉप में बिकने वाले फ्लेवर्स को स्टोर करता है।

फिर, हम orderFlavor नामक एक वेरिएबल घोषित करते हैं जो ग्राहक द्वारा ऑर्डर किए गए डोनट के प्रकार को ट्रैक करता है। यह वेरिएबल केवल flavors एनम में मान स्टोर कर सकता है। कोड की अगली पंक्ति पर, हम orderFlavor एनम वेरिएबल को Raspberry मान निर्दिष्ट करते हैं।

अगला, हम कंसोल पर Donut ordered: 1x प्रिंट करते हैं, इसके बाद orderFlavor वेरिएबल में स्टोर मान।

इस उदाहरण में, आप देख सकते हैं कि एनम का उपयोग करने से हमारा कोड पढ़ने में आसान हो जाता है। एनम का उपयोग करके, यह स्पष्ट है कि orderFlavor वेरिएबल केवल flavors एनम में मान स्टोर कर सकता है। यदि हम एक अधिक जटिल प्रोग्राम पर काम कर रहे होते, तो एनम का उपयोग करने के लाभ और भी स्पष्ट हो जाते, क्योंकि उन वेरिएबल्स के लिए जिनके लिए हमें खाता बनाना होगा, उनकी संख्या अधिक होगी।

डिफ़ॉल्ट एनम मान बदलना

इसके अलावा, हम एनम को एक विशेष डिफ़ॉल्ट मान भी निर्दिष्ट कर सकते हैं। उदाहरण के लिए, मान लीजिए हम एक प्रोग्राम बनाना चाहते हैं जो किसी विशेष डोनट की कीमत लौटाता है। चूंकि एक ग्राहक द्वारा ऑर्डर किए जा सकने वाले डोनट्स की एक सीमित श्रृंखला है, हम एनम का उपयोग करना चाहते हैं।

हम अपने डोनट फ्लेवर्स और उनकी कीमतों दोनों को स्टोर करने वाला एक एनम बनाने के लिए निम्नलिखित कोड का उपयोग कर सकते हैं:

#include <iostream>
using namespace std;
enum prices { Raspberry = 2.00, Strawberry = 2.00, Powdered = 1.75, Chocolate = 1.90, Cinnamon = 2.20 }
int main() {
    enum prices orderPrice;
    orderPrice = Raspberry;
    cout << "Donut price: $" << orderPrice;
}

हमारा कोड वापस लौटाता है:

Donut price: $2.00

इस उदाहरण में, हमने अपने एनम में प्रत्येक मान को एक डिफ़ॉल्ट मान निर्दिष्ट किया है।

इसका मतलब है कि, जब हम अपने एनम में किसी मान को संदर्भित करते हैं, तो मान के नाम के बजाय उसका डिफ़ॉल्ट मान दिखाई देगा। इसलिए, जब हम Chocolate को संदर्भित करते हैं, तो 1.90 वापस किया जाएगा; जब हम Cinnamon को संदर्भित करते हैं, तो 2.20 वापस किया जाएगा।

हमारे मुख्य प्रोग्राम में, हम पहले orderPrice नामक एक वेरिएबल घोषित करते हैं जो इसके संभावित मानों को प्रतिबंधित करने के लिए prices एनम का उपयोग करता है। फिर हम orderPrice वेरिएबल को हमारे prices एनम में Raspberry से जुड़े मान को निर्दिष्ट करते हैं।

अगली पंक्ति पर, हम कंसोल पर स्टेटमेंट Donut price: $ प्रिंट करते हैं, इसके बाद orderPrice वेरिएबल में स्टोर की गई कीमत। इस मामले में, ग्राहक ने रास्पबेरी डोनट ऑर्डर किया, जिसकी कीमत $2.00 है, इसलिए हमारे कोड ने Donut price: $2.00 वापस किया।

निष्कर्ष

एनम डेटा प्रकार का उपयोग एक प्रकार का डेटा बनाने के लिए किया जाता है जो केवल मानों का एक निश्चित सेट स्टोर कर सकता है। उदाहरण के लिए, एक एन्यूमरेशन जो सीज़न स्टोर करता है, केवल स्प्रिंग, समर, ऑटम, और विंटर स्टोर करेगा। एनम तब उपयोगी होते हैं जब एक वेरिएबल केवल एक विशिष्ट सेट में मौजूद एक मान को स्टोर करने में सक्षम होना चाहिए।

इस ट्यूटोरियल ने उदाहरणों के संदर्भ में चर्चा की कि C++ में एनम कैसे बनाएं, एनम का उपयोग कैसे करें, और एनम द्वारा स्टोर किए गए डिफ़ॉल्ट मानों को कैसे बदलें। अब आपके पास C++ में एनम का उपयोग शुरू करने का ज्ञान है!

  1. - C++ में एन्यूमरेटेड टाइप (enum) कैसे परिभाषित करें?

    एक एन्यूमरेटेड प्रकार एक वैकल्पिक प्रकार नाम और शून्य या अधिक पहचानकर्ताओं का सेट घोषित करता है जिनका उपयोग प्रकार के मानों के रूप में किया जा सकता है। प्रत्येक एन्यूमरेटर एक कॉन्स्टेंट है जिसका प्रकार एन्यूमरेशन है। उदाहरण के लिए, यदि आप एक ऐसा एप्लिकेशन बना रहे हैं जिसमें किसी वेरिएबल के लिए निश्

  1. - C++ में आइडेंटिफायर

    C++ आइडेंटिफायर एक नाम है जिसका उपयोग वेरिएबल, फ़ंक्शन, क्लास, मॉड्यूल, या किसी अन्य उपयोगकर्ता-परिभाषित आइटम की पहचान के लिए किया जाता है। एक आइडेंटिफायर A से Z या a से z तक के अक्षर या अंडरस्कोर (_) से शुरू होता है जिसके बाद शून्य या अधिक अक्षर, अंडरस्कोर, और अंक (0 से 9) आ सकते हैं। C++ आइडेंटिफ

  1. - C# में Enum (एन्यूमरेशन): परिभाषा और बुनियादी उपयोग

    Enum (Enumeration) नामित स्थिरांकों (named constants) का समूह है। डिफ़ॉल्ट रूप से मान 0 से शुरू होकर 1 से बढ़ते हैं। कोड पठनीयता और टाइप सेफ्टी के लिए उपयोगी। बुनियादी उदाहरण using System; public class Demo { public enum Vehicle { Car, // 0 Bus, // 1 Truck //