हाँ, वे सभी सार्वजनिक कर रहे हैं।
struct A : B {
C c;
void foo() const {}
}
struct A : public B {
public:
C c;
void foo() const {}
}
के बराबर है सदस्यों के लिए, यह §11 में निर्दिष्ट किया जाता:
एक वर्ग कीवर्ड वर्ग के साथ परिभाषित के सदस्य डिफ़ॉल्ट से निजी हैं। कीवर्ड स्ट्रक्चर या यूनियन के साथ परिभाषित कक्षा के सदस्य डिफ़ॉल्ट रूप से सार्वजनिक होते हैं।
और §11.2 में आधार वर्ग के लिए के लिए:
एक आधार वर्ग के लिए एक एक्सेस-विनिर्देशक के अभाव में, सार्वजनिक माना जाता है जब व्युत्पन्न वर्ग के साथ परिभाषित किया गया है वर्ग-कुंजी struct और निजी माना जाता है जब वर्ग को कक्षा-कुंजी वर्ग के साथ परिभाषित किया जाता है।
जहां संदर्भ C++ 11 मानक के संदर्भ हैं।
आप इसे अपने आप को बहुत ही छोटे कार्यक्रम के साथ परीक्षण कर सकते थे। – Nobody
सी ++ में कक्षाओं और structs के बीच मतभेदों के बारे में इस धागे को देखें http://stackoverflow.com/questions/92859/what-are-the-differences-between-struct-and-class-in-c –
@ नोबॉडी: लेकिन तो वह अपने कंपाइलर पर भरोसा नहीं करेगा बग्स :) –