IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

pointeur c++ en java


Sujet :

Java

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 292
    Par défaut pointeur c++ en java
    bonjour,
    je suis entrein de traduire un code visual c++ en java, j'ai un probleme avec les pointeurs, j'ai une classe IElement, qui définit un objet,
    dans une autre classe j'ai une methode avec paramatre:
    bool gnrTextAreaCommand(IElement* );
    comment la traduire en java
    aidez moi SVP

  2. #2
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Par défaut
    En java par défaut, tout ce qui n'est pas un des types de base (genre 'int', 'byte', 'float', ...) sont des objets (exemple IElement, String, ...).

    A partir du moment où tu utilises des types 'objet' en paramètre d'une fonction, c'est un pointeur qui est passé en paramètre.

    Exemple:

    en C++:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    class MaClasse {
     
    public:
        MaClasse();
        ~MaClasse();
     
        MaClasse* getMaClassInstance();
        void setMaClassInstance(MaClasse* i);
    };
    équivaut en java à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    public class MaClasse() {
        public MaClasse() { /*...*/ }
        protected void finalize() throws Throwable { /* ... */ }
     
        public MaClasse getMaClassInstance() { /* ... */ }
        public void setMaClassInstance(MaClasse i) { /* ... */ }

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 292
    Par défaut to be continued
    merci pour ta reponce
    mon probleme c que dans ma methode ya pas une variable c juste :
    nomMethode(typeObjet *)
    comment je peux remplacer ça en java,
    j'ai un autre souci:
    j'ai en c++:

    struct basePro{
    int x;
    int y;
    }
    struct basePro _basep;

    en java j'ai mis:

    class basePro{
    int x;
    int y;
    }
    basePro _basep;
    erreur = basePro cannot be resolved to a type
    merci d'avence

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    292
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 292
    Par défaut to be continued
    toujours avec les pointeurs:
    en c++ :

    maMethode(const std::string * context){
    if(!context) ....}

    en java
    maMethode(String context){
    if(!context) ça marche pas?

  5. #5
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Par défaut
    Citation Envoyé par rimas2009 Voir le message
    merci pour ta reponce
    mon probleme c que dans ma methode ya pas une variable c juste :
    nomMethode(typeObjet *)
    Si je me rappelle bien, en C++, c'est autorisé pour les paramètres qui en serviront pas dans le corps de la fonction.
    Si c'est ce cas là, tu peux toujour ajouter un nom de paramètre en java et continuer à ne pas utiliser ce paramètre .
    Sinon, il va falloir que tu sois plus précis dans l'énoncé de ton problème.

    struct basePro _basep;
    erreur = basePro cannot be resolved to a type
    Sûrement un souci de visibilité : quand on ne la spécifie pas, par défaut la classe n'est accessible que par les classes du même package ; essaie d'ajouter le mot réservé public lors de la définition de ta classe basePro.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public class basePro{
    int x;
    int y;
    }
    Au passage: un nom de classe en Java commence toujours par une majuscule, par convention.

    Citation Envoyé par rimas2009 Voir le message
    if(!context) ça marche pas?
    En java, il faut écrire :

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Pointeurs supprimés en Java ?
    Par Invité dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 05/05/2012, 21h18
  2. [info] taille des adresses des pointeurs Java
    Par TabrisLeFol dans le forum Général Java
    Réponses: 11
    Dernier message: 14/02/2006, 13h24
  3. [Language]Equivalent Java des pointeurs de fonctions du C/C++
    Par Thierry Chappuis dans le forum Langage
    Réponses: 1
    Dernier message: 25/11/2005, 15h14
  4. Pointeur c/c++ et java
    Par vincent0 dans le forum Langage
    Réponses: 2
    Dernier message: 25/09/2005, 03h40
  5. [debutant] correspondance JAVA C++ pour pointeur de fonction
    Par davidoff_tls dans le forum Langage
    Réponses: 7
    Dernier message: 15/04/2004, 09h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo