J'ai développé auparavant en Java et actuellement je développe en c/c++. Alors j'ai rencontré une utilisation de l'opérateur "this" en java que je ne peux pas appliquer en c/c++.
Voici un exemple en Java :
########
public TestNew(){
this("bonjour");
}
public TestNew(String phrase){
System.out.println(phrase);
}
########
Comme il est claire, on peut appeler le constructeur "TestNew(String phrase)" à partir du constructeur "TestNew()", en faisant appelle à "this" en tand que fonction qui prend en paramètres les paramètres du constructeur choisi.
En C/C++ quand j'essaye de faire quelque chose pareil, le message d'erreur suivant s'affiche : "`this' cannot be used as a function"
Alors ma question la plus importante : comment je peut appeler un constructeur à partir d'un autre en c/c++ puisque l'opérateur "this" ne le permet pas?
En java c'est possible d'appeler à partir d'un constructeur un autre constructeur ayant une signature différente de celle du premier constructeur (ou même identique mais ça n'a pas de sens) avec l'opérateur "this", à condition que les deux constructeurs appartienne à la même classe. L'exemple de la classe "TestNew" explique comment.
Le problème que le C/C++ n'accepte pas cette idée.
En faite je ne cherche pas à initialiser une nouvelle instance de la classe "TestNew" et pour cela je croix que ta proposition ne peut pas marcher avec mon bute.
En résumer, je cherche à reproduire un ensemble de procédures réalisés dans un constructeur dans un autre constructeur, seulement en appelant le premier constructeur avec les paramètres appropriées. En java "this" réalise la demande mais il ne marche pas en c/c++. alors que dois je faire?