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

C++ में नेमस्पेस और क्लास के बीच अंतर

इस खंड में हम देखेंगे कि C++ में नेमस्पेस और क्लास में क्या अंतर हैं। नामस्थान और वर्ग दो अलग-अलग अवधारणाएं हैं। कक्षाएं डेटाटाइप हैं। कक्षाएं मूल रूप से संरचनाओं का विस्तारित संस्करण हैं। कक्षाओं में डेटा सदस्य और सदस्य के रूप में कार्य हो सकते हैं, लेकिन नामस्थान में चर और फ़ंक्शन को एक में समूहित करके शामिल किया जा सकता है।

नामस्थान वस्तुओं के रूप में नहीं बनाया जा सकता है। समान कार्यों, वर्गों, चर आदि को अलग करने के लिए इस अवधारणा का उपयोग अतिरिक्त जानकारी के रूप में किया जाता है। चर, समान नाम वाले कार्यों को अलग-अलग नामस्थानों में रखा जा सकता है।

आइए अब हम नामस्थानों और वर्गों के कुछ महत्वपूर्ण अंतरों को इंगित करें।

  • नेमस्पेस का उपयोग पहचानकर्ताओं का समूह बनाने के लिए किया जाता है ताकि वे टकराएं नहीं। क्लास का उपयोग करके, हमें उस क्लास का इंस्टेंस बनाना होगा, लेकिन नेमस्पेस के लिए यह सच नहीं है।

  • नाम स्थान के लिए हम 'उपयोग' घोषणा का उपयोग करते हैं। कक्षाओं के लिए यह तब तक संभव नहीं है जब तक हम इससे व्युत्पन्न नहीं होते।

  • हम नाम स्थान को फिर से खोल सकते हैं और अनुवाद इकाइयों में अधिक तत्व जोड़ सकते हैं। यह कक्षाओं का उपयोग करके नहीं किया जा सकता है।

namespace my_namespace {
   int function1();
}
namespace my_namespace {
   int function1();
}
  • कक्षा के लिए निम्नलिखित कोड ठीक नहीं है:

class my_class {
   int function1();
};
class my_class {
   int function1();
};
  • हम अनाम नामस्थानों का उपयोग कर सकते हैं, जो ठीक हैं, लेकिन हम अनाम वर्गों का उपयोग नहीं कर सकते जो त्रुटि पैदा करेंगे।

namespace{ //Legal
   int function1();
};
class { //create error
   int function1();
};

  1. C++ में डॉट (.) ऑपरेटर और -> में क्या अंतर है?

    डॉट और एरो ऑपरेटर दोनों का उपयोग C++ में किसी वर्ग के सदस्यों तक पहुंचने के लिए किया जाता है। वे बस विभिन्न परिदृश्यों में उपयोग किए जाते हैं। सी ++ में, वर्ग, संरचना, या संघ के रूप में घोषित प्रकारों को वर्ग प्रकार माना जाता है। तो निम्नलिखित उन तीनों को संदर्भित करता है। a.b का उपयोग केवल तभी किय

  1. सी # में कक्षा और संरचना के बीच अंतर

    वर्ग और संरचना के बीच अंतर करने के लिए, हमें पहले यह समझना होगा कि संरचना और वर्ग दोनों डेटा को रखने और परिभाषित करने के संदर्भ में समान प्रतीत होते हैं। ये दोनों अपने डेटा सदस्यों में कुछ डिफ़ॉल्ट मानों को परिभाषित करने के साथ-साथ कुछ डिफ़ॉल्ट मान भी रख सकते हैं। लेकिन अगर हम उन्हें इस संदर्भ से पर

  1. स्कैला में लक्षणों और सार वर्गों के बीच अंतर।

    लक्षण लक्षण जावा में इंटरफेस के समान हैं और विशेषता कीवर्ड का उपयोग करके बनाए गए हैं। सार वर्ग एब्सट्रैक्ट क्लास जावा में एब्सट्रैक्ट क्लासेस के समान है और इसे एब्सट्रैक्ट कीवर्ड का उपयोग करके बनाया गया है। उदाहरण स्काला में लक्षणों और सार वर्गों के उपयोग को दिखाने के लिए निम्नलिखित कार्यक्रम है।