প্রধান পার্থক্য
| বিষয় | Class | Struct |
|---|---|---|
| ডিফল্ট অ্যাক্সেস স্পেসিফায়ার | private | public |
| ডিফল্ট ইনহেরিটেন্স | private | public |
| কীওয়ার্ড | class | struct |
উদাহরণ ১: ডিফল্ট অ্যাক্সেস
class MyClass { int x = 10; }; // x is private
struct MyStruct { int x = 10; }; // x is public
int main() {
MyClass c; // c.x অ্যাক্সেসIBLE নয় (compile error)
MyStruct s; cout << s.x; // 10 প্রিন্ট হবে
}
উদাহরণ ২: ইনহেরিটেন্স
class Base { public: int x = 10; };
class DerivedClass : Base {}; // private inheritance -> x inaccessible
struct DerivedStruct : Base {}; // public inheritance -> x accessible
int main() {
DerivedClass dc; // dc.x error
DerivedStruct ds; cout << ds.x; // 10
}
অন্য পার্থক্য: ফাংশনালিটি প্রায় সমান। কনভেনশন: ডেটা-ওনলি টাইপের জন্য struct, ইনভ্যারিয়েন্ট/বিবিধ মেথডসহ টাইপের জন্য class ব্যবহার করা হয়।