अंतिम अद्यतन:2026-10-15
C++ struct vs class¶
लेखक के बारे में:¶
व्यक्तिगत WeChat सार्वजनिक अकाउंट:

C और C++ में struct की सामग्री के बारे में: देखें struct那些事
कुल मिलाकर, struct को एक डेटा स्ट्रक्चर के इम्प्लीमेंटेशन की तरह देखना ज़्यादा उपयुक्त है, जबकि class को एक ऑब्जेक्ट के इम्प्लीमेंटेशन की तरह।
अंतर:
सबसे बुनियादी अंतर है डिफ़ॉल्ट एक्सेस कंट्रोल
डिफ़ॉल्ट इनहेरिटेंस एक्सेस परमिशन। struct में यह public होता है, class में private।
struct एक डेटा स्ट्रक्चर के इम्प्लीमेंटेशन के रूप में इसका डिफ़ॉल्ट डेटा एक्सेस कंट्रोल public होता है, जबकि class ऑब्जेक्ट के इम्प्लीमेंटेशन के रूप में इसके मेंबर वेरिएबल का डिफ़ॉल्ट एक्सेस कंट्रोल private होता है।
सामान्य प्रश्न¶
struct और class का एकमात्र अंतर?¶
डिफ़ॉल्ट एक्सेस और डिफ़ॉल्ट इनहेरिटेंस: struct में public, class में private। बाकी सब मामलों में दोनों C++ में पूर्णतः समान हैं।
क्या struct में कंस्ट्रक्टर और वर्चुअल फ़ंक्शन हो सकते हैं?¶
हाँ। C++ का struct वही क्लास है: कंस्ट्रक्टर, डिस्ट्रक्टर, वर्चुअल फ़ंक्शन, टेम्पलेट सब संभव है।
struct कब उपयोग करें?¶
परंपरा से: बिना इनवेरिएंट के सादे डेटा समूह के लिए struct; इनकैप्सुलेशन/इनवेरिएंट आए तो class।
संबंधित विषय¶
- C++ प्योर वर्चुअल फ़ंक्शन और एब्स्ट्रैक्ट क्लास | C++那些事
- C++ assert | C++那些事
- C++ bit-field | C++那些事
- C भाषा से C++ पॉलीमॉर्फ़िज़्म | C++那些事
- C++ const विस्तार से: कॉन्स्टेंट, const पॉइंटर vs पॉइंटर-टू-const | C++那些事
- C++ const परिवार | C++那些事
- C++ dereference ऑपरेटर * | C++那些事
- C++ इनिशियलाइज़ेशन और असाइनमेंट | C++那些事
- C++ multiple return values लिखने के तरीके | C++那些事
- C++ mutable कीवर्ड | C++那些事