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

C++ में क्लास बनाम स्ट्रक्चर कब उपयोग करना चाहिए?


स्ट्रक्चर्स और क्लासेज C++ में बहुत समान हैं सिवाय कुछ अंतरों के। इसलिए नीचे इन अंतरों के बारे में विवरण दिए गए हैं जो C++ में क्लास या स्ट्रक्चर का उपयोग कब करना है यह तय करने में मदद करते हैं।

क्लास और स्ट्रक्चर के बीच अंतर

क्लास के सभी मेंबर्स डिफ़ॉल्ट रूप से प्राइवेट होते हैं। यह स्ट्रक्चर्स से अलग है क्योंकि स्ट्रक्चर के सभी मेंबर्स डिफ़ॉल्ट रूप से पब्लिक होते हैं।

C++ में क्लास को प्रदर्शित करने वाला एक प्रोग्राम निम्नलिखित है −

उदाहरण

#include <iostream> using namespace std; class Example {    int val; }; int main() {    Example obj;    obj.val = 20;    return 0; }

यह प्रोग्राम एरर देता है क्योंकि val डिफ़ॉल्ट रूप से प्राइवेट है और इसलिए obj का उपयोग करके सीधे एक्सेस नहीं किया जा सकता।

C++ में स्ट्रक्चर को प्रदर्शित करने वाला एक प्रोग्राम निम्नलिखित है −

उदाहरण

#include <iostream> using namespace std; struct Example {    int val; }; int main() {    Example obj;    obj.val = 20;    cout<<"मान है: "<<obj.val;    return 0; }

आउटपुट

उपरोक्त प्रोग्राम का आउटपुट निम्नलिखित है −

मान है: 20

उपरोक्त प्रोग्राम सही ढंग से काम करता है क्योंकि val डिफ़ॉल्ट रूप से पब्लिक है और इसलिए obj का उपयोग करके सीधे एक्सेस किया जा सकता है।

क्लास और स्ट्रक्चर के बीच एक और अंतर इनहेरिटेंस के दौरान स्पष्ट होता है। क्लास इनहेरिट करते समय, बेस क्लास का एक्सेस स्पेसिफायर डिफ़ॉल्ट रूप से प्राइवेट होता है। तुलनात्मक रूप से, स्ट्रक्चर इनहेरिट करते समय, बेस स्ट्रक्चर का एक्सेस स्पेसिफायर डिफ़ॉल्ट रूप से पब्लिक होता है।


  1. JavaScript एरो फंक्शन्स का उपयोग कब नहीं करना चाहिए? JavaScript एरो फंक्शन्स का उपयोग कब नहीं करना चाहिए?

    एरो फंक्शन्स का उपयोग ऑब्जेक्ट मेथड के रूप में नहीं करना चाहिए क्योंकि एरो फंक्शन का अपना this नहीं होता। यह आसपास के लेक्सिकल स्कोप के this मान को लेता है जो विंडो ऑब्जेक्ट होता है, ऑब्जेक्ट स्वयं नहीं। इससे समस्याएं हो सकती हैं क्योंकि अब हम इच्छित ऑब्जेक्ट के बजाय विंडो ऑब्जेक्ट की प्रॉपर्टीज़ से

  1. HDMI स्प्लिटर बनाम स्विच: कब उपयोग करें? HDMI स्प्लिटर बनाम स्विच: कब उपयोग करें?

    इन दिनों हमारा बहुत सारा दृश्य और ऑडियो मनोरंजन HDMI द्वारा संचालित होता है। SCART प्लग या VGA केबल सेट करने के साथ कोई और छेड़छाड़ नहीं; बस एक HDMI केबल को दोनों सिरों पर प्लग करें और आप जाने के लिए तैयार हैं! क्या आप जानते हैं, हालांकि, आप छोटे उपकरण खरीद सकते हैं जो आपको अपने HDMI प्रबंधन पर और भ

  1. - Rails में Scopes बनाम क्लास मेथड: कौन सा दृष्टिकोण जीतता है?

    यह लेख कोरियाई में भी उपलब्ध है, सूनसांग हॉन्ग का धन्यवाद! Scopes आपके डेटाबेस से सही ऑब्जेक्ट निकालने का एक शानदार तरीका है: app/models/review.rbclass Review (limit) { order(created_at desc).limit(limit) } end आप scope का उपयोग इस तरह करेंगे: app/models/homepage_controller.rb@recent_reviews =