C++ में संरचना और वर्ग मूल रूप से समान हैं। लेकिन कुछ मामूली अंतर हैं। ये अंतर नीचे की तरह हैं।
वर्ग के सदस्य डिफ़ॉल्ट रूप से निजी होते हैं, लेकिन संरचना के सदस्य सार्वजनिक होते हैं। अंतर देखने के लिए आइए इन दो कोडों को देखें।
उदाहरण कोड
#include <iostream> using namespace std; class my_class { int x = 10; }; int main() { my_class my_ob; cout << my_ob.x; }
आउटपुट
This program will not be compiled. It will generate compile time error for the private data member.
उदाहरण कोड
#include <iostream> using namespace std; struct my_struct{ int x = 10; }; int main() { my_struct my_ob; cout << my_ob.x; }
आउटपुट
10
जब हम किसी वर्ग या संरचना से एक संरचना प्राप्त करते हैं, तो उस आधार वर्ग का डिफ़ॉल्ट एक्सेस विनिर्देशक सार्वजनिक होता है, लेकिन जब हम एक वर्ग प्राप्त करते हैं तो डिफ़ॉल्ट एक्सेस विनिर्देशक निजी होता है।
उदाहरण कोड
#include <iostream> using namespace std; class my_base_class { public: int x = 10; }; class my_derived_class : my_base_class{ }; int main() { my_derived_class d; cout << d.x; }
आउटपुट
This program will not be compiled. It will generate compile time error that the variable x of the base class is inaccessible
उदाहरण कोड
#include <iostream> using namespace std; class my_base_class { public: int x = 10; }; struct my_derived_struct : my_base_class{ }; int main() { my_derived_struct d; cout << d.x; }
आउटपुट
10