Surcharge d'opérateurs C++
Répondre à la discussion
Affichage des résultats 1 à 9 sur 9

Surcharge d'opérateurs C++



  1. #1
    Dowafu

    Surcharge d'opérateurs C++


    ------

    Bonjour,
    Depuis quelques temps, j'apprends à programmer en C++ grâce à un cours sur OpenClassrooms (https://openclassrooms.com/courses/p...c-le-langage-c).
    J'ai commencé la Programmation Orientée Objet et je suis bloqué au chapitre sur les surcharges d'opérateurs car je ne comprends pas.
    Par la suite, il faut faire un TP en utilisant ces surcharges d'opérateurs. Le but est de faire un objet qui fait des fractions.
    J'utilise Code::Blocks et je vous mets mon travail en pièce jointe. Toute la partie dans le main.cpp était déjà donnée.
    Si quelqu'un pouvait m'expliquer comment fonctionne la surcharge d'opérateurs ça m'arrangerai beaucoup,
    Dowafu.

    -----
    Fichiers attachés Fichiers attachés

  2. #2
    Jack
    Modérateur

    Re : Surcharge d'opérateurs C++

    Je n'ai pas validé ta pj car il est préférable de montrer le code dans le message si celui-ci n'est pas trop long, entre balises code (bouton # de l'éditeur avancé).

    Si quelqu'un pouvait m'expliquer comment fonctionne la surcharge d'opérateurs ça m'arrangerai beaucoup
    Tu peux trouver ça dans n'importe quel cours de C++. Si tu nous disais ce que tu ne comprends pas exactement?

  3. #3
    pm42

    Re : Surcharge d'opérateurs C++

    Le cours que tu cites explique tout et donne des exemples à télécharger avec Durée. En quoi est ce compliqué de faire la même chose avec Fraction ?

    Tu as aussi pas mal d'autres exemples sur le Net comme le fait remarquer Jack.

  4. #4
    Dowafu

    Re : Surcharge d'opérateurs C++

    Merci d'avoir répondu si vite,
    Ce que je ne comprends pas c'est la partie des opérateurs arithmétiques. J'ai l'impression que ça se mélange puisque ça commence par l'operator+ puis avant d'avoir fini ça continue sur le +=. Je suis perdu...

  5. A voir en vidéo sur Futura
  6. #5
    Jack
    Modérateur

    Re : Surcharge d'opérateurs C++

    les opérateurs + et += doivent être traités différemment: += est un opérateur interne car un des 2 termes est l'objet auquel l'opérateur est appliqué (a += b <=> a = a + b, donc a est l'objet et b le paramètre.

    Au contraire l'opérateur + doit être externe (défini hors de la classe) car les 2 opérandes peuvent être différents de l'objet: par exemple c = a + b. Une raison supplémentaire de choisir un opérateur externe est de respecter la symétrie de l'opérateur. Dans la première partie du cours que tu cites, openclassroom cite la possibilité d'utiliser des méthodes "amies"dans un prochain chapitre. Je pense que tu devrais y jeter un oeil car j'utiliserais de préférence cette technique pour implémenter l'opérateur +

  7. #6
    Jack
    Modérateur

    Re : Surcharge d'opérateurs C++

    Mes excuses pour avoir fermé la discussion par mégarde. Heureusement qu'Antoane veillait

  8. #7
    Dowafu

    Re : Surcharge d'opérateurs C++

    Ce n'est pas grave.
    L'operator+ doit être défini hors de la classe. Mais où alors ? C'est surtout ça qui me gêne je ne sais pas où le mettre.

  9. #8
    Jack
    Modérateur

    Re : Surcharge d'opérateurs C++

    Mais où alors ?
    Je le mettrais dans le même fichier que le .cpp de ta classe, donc zfraction.cpp
    Dernière modification par Jack ; 08/05/2016 à 16h30.

  10. #9
    Dowafu

    Re : Surcharge d'opérateurs C++

    D'accord merci beaucoup

Discussions similaires

  1. [C++] Classe générique, surcharge d'opérateurs
    Par Nikko22 dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 22/02/2014, 13h51
  2. surcharge d'une alimentation
    Par invite35ac49b5 dans le forum Électronique
    Réponses: 2
    Dernier message: 13/03/2012, 17h03
  3. CU en surcharge
    Par invitebe6d4b4f dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 19/09/2009, 09h28
  4. Surcharge des operateurs en C++
    Par invite78b3ecc4 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 17/04/2009, 23h49
  5. surcharge!?!
    Par invitee86d9bc1 dans le forum Électronique
    Réponses: 13
    Dernier message: 23/06/2008, 21h24