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érateur


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2003
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 30
    Par défaut Surcharge d'opérateur
    Bonjour,
    je dipose d une classe courbe sur laquel j ai cree une surcharge d operateur comme presenté ci dessous:

    fichier .h

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        class Courbe
        {
            public:
                 Courbe* operator/ ( Courbe *a);
        }
    fichier .c
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        Courbe* Courbe::operator/ (Courbe *b)
       {
           return this->divise(b);
       }
    dans une autre classe, j essaye de faire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
            Courbe *toto;
            Courbe *titi;
            resultat=toto/ titi;
    Cela marche si toto et titi ne sont pas des pointeurs . Avec des pointeurs, j ai un message comme quoi je ,ne peux pas realsier cela sur des pointeurs. Un ami m a dit d essayer en mettant friend... je dois mal l appliquer cela ne marche pas non plus..

    Quelqu un peut il m aider?

    merci encore

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Avril 2010
    Messages : 517
    Par défaut
    Salut,

    Première question: pourquoi utilises-tu des pointeurs? En as-tu vraiment l'utilité?

    Ensuite, as-tu été sur la FAQ?

    Comprends-tu pourquoi tu as une erreur?

    L'utilisation de friend ici ne sert strictement à rien.

  3. #3
    Membre averti
    Inscrit en
    Mai 2003
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Mai 2003
    Messages : 30
    Par défaut
    bonjour,

    si je met :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
             Courbe *toti;
            Courbe *tutu;
            Courbe *tata;
             tata=toti/tutu;
    j ai l erreur suivante:
    C:\Qt\ll\sans_titre9\mainwindow.cpp:719: erreur : C2296: '/' : illegal, left operand has type 'Courbe *'

    si je ne met pas de pointeur ca marche....

    sniif

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2010
    Messages
    517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Avril 2010
    Messages : 517
    Par défaut
    Tu ne peux pas avoir 2 pointeurs sur un opérateur.
    Lit la FAQ, ça te permettra d'apprendre comment effectuer une surcharge d'opérateur.

  5. #5
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par défaut
    Tu ne peux pas utiliser des pointeurs et tant mieux car tu n'en as pas besoin : il faut utiliser des références constantes.

  6. #6
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Et des fonctions libres pour les opérateurs mathématiques.

    J'entends par là:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    class Bidule {
    public:
        Bidule(Bidule const&);
        Bidule& operator+=(Bidule const&);
    };
    inline Bidule operator+(Bidule const& a, Bidule const& b) {
        return Bidule(a)+=b;
    }

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