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

Langage C++ Discussion :

Comment créer de nouveaux opérateurs ?


Sujet :

Langage C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    c++, java programmeur
    Inscrit en
    Septembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : c++, java programmeur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2011
    Messages : 2
    Par défaut Comment créer de nouveaux opérateurs ?
    Salut à tous,

    operator overloading ou surcharge des opérateurs : j'ai lu une leçon et l'auteur dit qu'en c++ on peut créer nos propres opérateurs.

    Comment faire ça?

    ex: je veux l'opérateur X qui donne un nouveau vecteur3D résultat du produit vetoriel de deux vecteurs ( v1 X v2).
    Après en c++ on peut coder ça : cout << v1 x v2 << endl;.

    et merci.

  2. #2
    Membre chevronné

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 426
    Par défaut
    Salut,

    On ne peut que surcharger les opérateurs existants ( +, -, +=, -=, <<, ... etc )! On ne peut pas créer nos propres opérateurs ( X, A, EXP... ou ce que tu veux... ).

    Il faut alors utiliser les fonctions membres ou des fonctions amies des classes sur lesquelles tu veux réaliser une opération.
    Voir le livre "Penser en C++" chapitre 12 pour plus de détails.

    Tu peux soit créer une fonction membre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    vecteur3D cross_product( vecteur3D &v ) {
    vecteur3D réponse;
    //...
    //ton code pour calculer de produit vectoriel dans réponse
    //...
    return réponse;
    }
    soit une fonction amie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    friend vecteur3D cross_product( vecteur3D &v1, vecteur3D &v2 ) {
    vecteur3D réponse;
    //...
    //ton code pour calculer de produit vectoriel dans réponse
    //...
    return réponse;
    }

  3. #3
    Nouveau candidat au Club
    Homme Profil pro
    c++, java programmeur
    Inscrit en
    Septembre 2011
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : c++, java programmeur
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Septembre 2011
    Messages : 2
    Par défaut
    ok, merci bcp;

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 08/11/2012, 16h40
  2. Réponses: 30
    Dernier message: 24/10/2011, 18h37
  3. [wxPython] Comment créer de nouveaux widgets
    Par andrei dans le forum wxPython
    Réponses: 2
    Dernier message: 27/11/2005, 23h35
  4. Comment créer et executer un .EXE
    Par maher12 dans le forum Flash
    Réponses: 3
    Dernier message: 26/09/2002, 08h33
  5. [] [Stratégie] Comment créer un fichier log
    Par Skeezo dans le forum Installation, Déploiement et Sécurité
    Réponses: 4
    Dernier message: 16/09/2002, 18h30

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