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 :

Surcharge d'op�rateurs et sym�trie


Sujet :

C++

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    96
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 96
    Par d�faut Surcharge d'op�rateurs et sym�trie
    Bonsoir,

    J'ai deux petites questions :

    Si je surcharge l'op�rateur * d'une classe Vect2D et que je souhaite garder la sym�trie par exemple,
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
     
    Vect2D a,b;
    b = a * 10;
    b = 10 * a;
    Dois-je obligatoirement surcharger mon op�rateur comme ci dessous ?
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
     
    Vect2D operator * (const Vect2D&, int);
    Vect2D operator * (int, const Vect2D&);
    Deuxi�me question :
    Quelle est la diff�rence entre
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    Vect2D& operator+(const Vect2D other) const{
       Vect2D* vect = new Vect2D(x + other.getX(), y + other.getY());
       return *vect;
    }
    et
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
     
    Vect2D operator+(const Vect2D other) const{
       Vect2D vect(x + other.getX(), y + other.getY());
       return vect;
    }
    Une de ces deux m�thodes est pr�f�rable ?

    Merci

  2. #2
    Membre Expert

    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2007
    Messages
    1 895
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Bouches du Rh�ne (Provence Alpes C�te d'Azur)

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 895
    Par d�faut
    Q1 : oui ; si tu veux garder la sym�trie, alors les op�rateurs doivent �tre d�clar�s ainsi, et a l'ext�rieur de la classe.

    Q2 : la premi�re m�thode provoque un memory leak. On utilise syst�matiquement la seconde m�thode, voire une troisi�me qui consiste a passer via l'op�rateur +=
    [FAQ des forums][FAQ D�veloppement 2D, 3D et Jeux][Si vous ne savez pas ou vous en �tes...]
    Essayez d'�crire clairement (c'est � dire avec des mots fran�ais complets). SMS est votre ennemi.
    Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Caf�. C'est d�pass� tout �a.
    Et si vous �tes sages, vous aurez peut �tre vous aussi la chance de passer � la t�l�. Ou pas.

    Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas.

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    96
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 96
    Par d�faut
    Merci

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [C#] Tri d'objet et surcharge d'op�rateur
    Par Royd938 dans le forum Windows Forms
    R�ponses: 6
    Dernier message: 17/12/2007, 00h26
  2. Petit probl�me de surcharge d'op�rateur .
    Par Clad3 dans le forum C++
    R�ponses: 20
    Dernier message: 11/04/2005, 20h15
  3. Probl�me de surcharge d'op�rateurs
    Par Hell dans le forum C++
    R�ponses: 17
    Dernier message: 17/01/2005, 16h01
  4. Cumul de surcharges d'op�rateurs
    Par Nats dans le forum C++
    R�ponses: 2
    Dernier message: 11/10/2004, 13h37
  5. [VB .NET] Surcharge d'op�rateur
    Par Franckintosh dans le forum VB.NET
    R�ponses: 2
    Dernier message: 07/09/2004, 19h05

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