Avatar ·

在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()方法,还是有更优雅的方式?提前感谢您的帮助! <<>>

调用问题