01net    Web


Actuellement en ligne : 1087 Utilisateurs dont 48 dans Programmation et développement >S'inscrire      >S'identifier      >Recherche      >Aide  
modéré par A.Ouloube, Beno@  
01net > Forum de 01net > Programmation et développement > C/C++
> Utilisation de l'opérateur "this"
Auteur
Message
 
<     1       >
babanjida
  
   
      ?   @     Posté le 06/07/2008 14:21:45  
Voter pour ce message
Bonjour,

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  
Voter pour ce message
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  
Voter pour ce message
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  
Voter pour ce message
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  
Voter pour ce message
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.
<     1       >

01net > Forum de 01net > Programmation et développement > C/C++
> Utilisation de l'opérateur "this"

Aller à :

Page générée en : 0.251s - X2board 2.2

Nous contacter | Charte de confiance | Voir notice légale

Tous droits réservés © 1999 - 2008 Groupe Tests - 01net.


Sites du réseau 01net Network : 01net - 01men - Rmc.fr - Bfmtv.fr - Radiobfm.com - TousLesPodcasts - Micro Achat

Multi Convertisseur
Convertissez rapidement et simplement vos fichiers vidéo dans tous les formats avi, mpeg, wmv, mov, ...
Jeux
Nouveauté : C'est à vous de suivre les indices et de résoudre ce mystère ! La vie de Natalie en dépend !