S'abonner :  Newsletters    Magazines
Avis sur les produits Avis sur les logiciels Avis sur les jeux Actualités A propos de 01net
261 utilisateurs connectés

Utilisation de l'opérateur "this"

babanjida le 06 juillet 2008 à 14h21
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 le 06 juillet 2008 à 16h07
Ben il prend juste la classe public.
Si le seul objet est le texte ça marche...
-------
Fils d'Albanel, va !
babanjida le 06 juillet 2008 à 16h25
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@ le 07 juillet 2008 à 12h56
et bien simplement avec le nom du constructeur, comme si c'était une simple méthode de la classe ;)
boxlee le 23 aout 2008 à 10h09
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.


PRODUITS

TÉLÉCHARGER - LOGICIELS

JEUX VIDÉOS

LOISIRS

01NET PRO

AVIS ET COMMENTAIRES

A PROPOS DE 01NET

publicité
> Nouveauté :
Norton 2010
Cette année optez pour une sécurité maximale.

Service 01net
Newsletters 01net
abonnez vous gratuitement !
  
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Nous contacter  |  Charte de confiance  |  Voir notice légale

01net.  -  01men  -  RMC  -  BFM Radio  -  BFM TV  -  TousLesPodcasts  -  01informatique.fr  -  Association RMC-BFM
Tous droits réservés © 1999 - 2009 Internext - 01net.