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

C++ Discussion :

redefinir 2 fois operateur


Sujet :

C++

  1. #1
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut redefinir 2 fois operateur
    Bonjour je souhaiterais savoir s'il est possible de redéfinir 2 fois l'opérateur == ou < par exemple, dans une classe. Par exemple une classe Personne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    class Personne
    {
        private : 
                   char nom [20];
     
        public : 
                   bool operator == (Personne personne);
                   bool operator == (char *nom);
    };
    Voila parceque j'ai essayé et pas réussi. Le premier fonctionne (normal) mais pas le deuxième, alors est ce que c'est possible ou bien c'est moi qui le fait mal ? merci a+

  2. #2
    Expert confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2003
    Messages
    3 549
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 549
    Par défaut
    C'est parfaitement possible.
    Peut-être, par contre, que ce que tu veux c'est comparer avec un const char* et non pas un char*.

  3. #3
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut
    ah bon il y aura une différence si je mets "const" ou non ? laquelle ? Pour moi avec le "const" on ne peux juste pas modifier son contenu ???

  4. #4
    Rédacteur/Modérateur
    Avatar de JolyLoic
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2004
    Messages
    5 463
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 5 463
    Par défaut
    Justement. Si tu passe à ta fonction un pointeur sur des caractères constants, mais que ta fonction a un paramètre qui veut un pointeur sur des caractères non constants (et donc qui est susceptible de modifier ces caractères), il est tout à fait légitime que le compilateur le refuse.

    A noter que par contre, passer un pointeur sur des caractères non constants à une fonction qui a promis de ne pas les modifier (paramètre char const *) n'est pas problématique, et sera accepté.
    Ma session aux Microsoft TechDays 2013 : Développer en natif avec C++11.
    Celle des Microsoft TechDays 2014 : Bonnes pratiques pour apprivoiser le C++11 avec Visual C++
    Et celle des Microsoft TechDays 2015 : Visual C++ 2015 : voyage à la découverte d'un nouveau monde
    Je donne des formations au C++ en entreprise, n'hésitez pas à me contacter.

  5. #5
    Membre éclairé Avatar de ac/dc
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2006
    Messages
    369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Août 2006
    Messages : 369
    Par défaut
    ok très bien j'ai compris, j'ai rajouté le "const" et ça fonctionne ....

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

Discussions similaires

  1. Redefinir tous les operateurs d'un numerique
    Par saragaglia dans le forum C++
    Réponses: 3
    Dernier message: 12/02/2009, 10h44
  2. redefinir les operateurs ?
    Par kespy13 dans le forum Langage
    Réponses: 2
    Dernier message: 10/05/2008, 22h01
  3. [Composant] Drag & Drop de plusieurs valeurs à la fois
    Par slowpoke dans le forum Composants VCL
    Réponses: 3
    Dernier message: 23/12/2003, 10h26
  4. Pb : malloc qui marche une fois sur deux .... ?
    Par guillaume_pfr dans le forum C
    Réponses: 14
    Dernier message: 21/07/2003, 09h52
  5. [langage] l'operateur tr///
    Par March' dans le forum Langage
    Réponses: 4
    Dernier message: 03/03/2003, 21h57

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