क्या C++ में एक कंस्ट्रक्टर से दूसरे कंस्ट्रक्टर को कॉल किया जा सकता है (कंस्ट्रक्टर चेनिंग)?
सभी को नमस्ते! मैंने अभी-अभी Java के बाद C++ सीखना शुरू किया है और एक समस्या का सामना किया है। Java में मैं अक्सर ऐसा करता था:
```java
public class MyClass {
private int x;
private int y;
public MyClass() {
this(0, 0); // पैरामीटर वाले कंस्ट्रक्टर को कॉल
}
public MyClass(int x, int y) {
this.x = x;
this.y = y;
}
}
```
अब मैं C++ में भी ऐसा ही करने की कोशिश कर रहा हूँ:
```cpp
class MyClass {
private:
int x;
int y;
public:
MyClass() {
MyClass(0, 0); // क्या यह सही नहीं है?
}
MyClass(int x, int y) {
this->x = x;
this->y = y;
}
};
```
लेकिन यह काम नहीं करता! डिफ़ॉल्ट कंस्ट्रक्टर में एक टेम्परेरी ऑब्जेक्ट बनता है जो तुरंत नष्ट हो जाता है, और वर्तमान ऑब्जेक्ट के फ़ील्ड अनइनिशियलाइज़्ड रह जाते हैं। C++ में कंस्ट्रक्टर चेनिंग को सही तरीके से कैसे व्यवस्थित करें? क्या एक अलग init() मेथड लिखना ज़रूरी है या कोई और सुंदर तरीका है? पहले से धन्यवाद मदद के लिए!
<<>>