C++ में class कब उपयोग करें और struct कब? मुख्य अंतरों को समझना
सभी को नमस्ते! मैं C++ सीख रहा हूँ और मुझे समझ नहीं आ रहा कि किन मामलों में class का उपयोग करना चाहिए और किनमें struct का। वैसे तो वे syntactically लगभग समान हैं, लेकिन मैंने पढ़ा है कि उनमें members तक default access में अंतर है। उदाहरण के लिए, मैंने एक बिंदु के coordinates को संग्रहीत करने के लिए ऐसी struct लिखी:
```cpp
struct Point {
int x;
int y;
};
```
और बिंदु के लिए ऐसा class:
```cpp
class PointClass {
int x;
int y;
public:
PointClass(int x, int y) : x(x), y(y) {}
};
```
मैं इन्हें इस प्रकार उपयोग करता हूँ:
```cpp
Point p1 = {10, 20}; // काम करता है
PointClass p2(10, 20); // काम करता है
```
लेकिन जब मैंने class के साथ कुछ ऐसा करने की कोशिश की जहाँ मैं कुछ data और methods रखना चाहता था, तो मुझे confusion हुई। मैंने सुना है कि struct सरल data के लिए है, और class पूर्ण objects के लिए invariants के साथ। लेकिन वास्तव में सीमा कहाँ है? क्या C# और C++ में यह अलग है? शायद अनुभवी developers से कुछ नियम या best practices हैं? स्पष्टीकरण के लिए अग्रिम धन्यवाद!