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 :

Operateur


Sujet :

C++

  1. #1
    Membre éprouvé
    Inscrit en
    Avril 2003
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Par défaut Operateur
    Bonjour,
    J'ai actuellement une classe (Remarque) qui redefinit l'opérateur <<. Pour l'instant cet opérateur est déclaré dans le .h et est défini de la facon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     friend ostream& operator<< (ostream& o, const Remarque& r) 
        {
         ..........
          return o;
        }
    Le problème est que j'aimerais l'enlever du .h pour le mettre dans le .cpp. Comment faire ? Quelle signature de méthode dois-je utiliser? Est-ce que je dois préfixer le nom de cette méthode par Remarque::...

    Merci d'avance.

  2. #2
    Membre éclairé
    Inscrit en
    Décembre 2003
    Messages
    491
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 491
    Par défaut
    Cela fait toujours plaisir de voir que la solitude n'existe pas dans le bateau des codes en info.
    Je patauge au meme titre que toi dans la meme soupe et j'ai fais quelque chose de semblable au point de vue exercice.
    Si cela t'amuse voir ma question plus bas surcharge des operateurs et ambiguite.

    Pour ton probleme quand tu declare une surcharge dans la classe cad en .h
    tu dois ensuite explicite pour le compilateur la nouvelle fonction.

    Tu dois faire cela dans .cpp en decrivant la nouvelle action a executer.

    Ce qui donne chez moi Decl de surcharge
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    //surcharge de l'operateur <<cout
    friend ostream& operator << (ostream&, const fraction& F);
    //Pas de return ici, tu ne fais que une decl vide pour reserver un link
    Ensuite la phase d'implementation, cad descriptive de la nouvelle fonction.
    A donner dans .cpp
    Ton return existe ici

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    //Surcharge de l'operateur cout<<
    ostream& operator << (ostream& flux, const fraction& F){
    flux << "\n Nominateur   : ";
    flux << F.num;
    flux << "\n Denominateur : ";
    flux << F.div;
    cout <<"\n"; 
    return flux;
    }//Fin Surcharge cout
     
    En esperant que cela te rende service
     
    Marc_3

  3. #3
    Membre éprouvé
    Inscrit en
    Avril 2003
    Messages
    159
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 159
    Par défaut
    Merci je vais essayer ca.

Discussions similaires

  1. redirection operateur flue >> appel system
    Par philippe V dans le forum MFC
    Réponses: 9
    Dernier message: 16/03/2005, 18h01
  2. PHP SQL =>erreur de syntaxe (operateur absent)
    Par snipes dans le forum Langage SQL
    Réponses: 3
    Dernier message: 23/02/2005, 14h09
  3. operateur de condition
    Par Jean-Matt dans le forum Langage SQL
    Réponses: 4
    Dernier message: 01/12/2004, 15h56
  4. [langage] opérateur booleen
    Par louisis dans le forum Langage
    Réponses: 4
    Dernier message: 30/06/2004, 16h12
  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