É possível chamar um construtor de outro em C++ (encadeamento de construtores)?
Olá a todos! Comecei a estudar C++ depois de Java e me deparei com um problema. Em Java, eu costumava fazer assim:
```java
public class MyClass {
private int x;
private int y;
public MyClass() {
this(0, 0); // chamada do construtor com parâmetros
}
public MyClass(int x, int y) {
this.x = x;
this.y = y;
}
}
```
Agora estou tentando fazer o mesmo em C++:
```cpp
class MyClass {
private:
int x;
int y;
public:
MyClass() {
MyClass(0, 0); // não é permitido?
}
MyClass(int x, int y) {
this->x = x;
this->y = y;
}
};
```
Mas isso não funciona! No construtor padrão, um objeto temporário é criado e imediatamente destruído, enquanto os campos do objeto atual permanecem não inicializados. Como organizar corretamente o encadeamento de construtores em C++? Preciso escrever um método init() separado ou existe uma maneira mais elegante? Agradeço desde já pela ajuda!
<<>>