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?
Merci pour votre collaboration
Pc_expert_3
Posté le 06/07/2008 16:07:54
Ben il prend juste la classe public.
Si le seul objet est le texte ça marche...
-------
Fils d'Albanel, va !
babanjida
Posté le 06/07/2008 16:25:13
Salut
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?
Beno@
Posté le 07/07/2008 12:56:05
et bien simplement avec le nom du constructeur, comme si c'était une simple méthode de la classe
boxlee
Posté le 23/08/2008 10:09:46
en c++ "this" est un pointeur caché dans une classe et qui pointe sur l'objet lui même.
dans la majorité des cas ,il est inutile.