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 :

operator>> avec class


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Inscrit en
    Janvier 2006
    Messages
    107
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 107
    Par d�faut operator>> avec class
    Bonjour, j'ai le code suivant.
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    #include <iostream>
     
    using namespace std;
     
    class Entier
    {
        public :
            Entier();
            Entier(int initValeur);
            ~Entier() {}
            istream& saisie(istream &f) ;
            int Valeur() const { return itsVal; }
        private :
                int itsVal;
    };
     
    Entier::Entier():itsVal(1)
    {}
     
    Entier::Entier(int initValeur):itsVal(initValeur)
    {}
     
    istream& Entier::saisie(istream &f) {
        if(f==cin)
             //   cout << "Rentrez le nombre ";
        f >> itsVal;
        return f;
    }
     
    int main()
    {
        Entier i;
        cin >> i;
        return 0;
    }
    Mais le probl�me, la compilation bug. avec une erreur ligne ( cin >> i ).

    Pouvez vous m'aider ?

  2. #2
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    Il faut d�finir l'op�rateur >> entre un istream et un Entier, �a n'est pas magique.

    Donc ta fonction saisie devient :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    istream& operator >>(istream &f, Entier& E) {
        return f >> E.itsVal;
    }
    En la d�finissant ami de Entier, puisqu'elle doit acc�der � une donn�e priv�e.

  3. #3
    Membre confirm�
    Inscrit en
    Janvier 2006
    Messages
    107
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 107
    Par d�faut
    m�me en remplacant ma m�thode saisie, j'ai le probl�me :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
    #include <iostream>
     
    using namespace std;
     
    class Entier
    {
        public :
            Entier();
            Entier(int initValeur);
            ~Entier() {}
            istream& operator >>(istream &f, Entier& E);
            int Valeur() const { return itsVal; }
        private :
                int itsVal;
    };
     
    Entier::Entier():itsVal(1)
    {}
     
    Entier::Entier(int initValeur):itsVal(initValeur)
    {}
     
    istream& operator >>(istream &f, Entier& E) {
        return f >> E.itsVal;
    }
     
    int main()
    {
        Entier i;
        cin >> i;
        return 0;
    }
    ligne 14, int Entier::itsVal is private
    ligne 24, within this context

  4. #4
    R�dacteur
    Avatar de Laurent Gomila
    Profil pro
    D�veloppeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    D�tails du profil
    Informations personnelles :
    �ge : 41
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activit� : D�veloppeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Par d�faut
    L� tu as d�clar� l'op�rateur >> comme membre de ta classe Entier, ce qui n'est pas le cas. Ajoute simplement "friend" devant sa d�claration et �a fera l'affaire.

  5. #5
    Membre confirm�
    Inscrit en
    Janvier 2006
    Messages
    107
    D�tails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 107
    Par d�faut
    Merci

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

Discussions similaires

  1. R�ponses: 17
    Dernier message: 03/06/2008, 13h19
  2. Boucle sur chaque div avec class= ....
    Par zevince dans le forum G�n�ral JavaScript
    R�ponses: 2
    Dernier message: 04/04/2006, 12h12
  3. [Upload] Probl�me pour gestion d'erreur avec class
    Par allserv dans le forum Langage
    R�ponses: 2
    Dernier message: 27/12/2005, 13h00
  4. [debutant] affichage ds un JtextArea avec classes independan
    Par tony_big_guy dans le forum Composants
    R�ponses: 3
    Dernier message: 27/11/2005, 23h04
  5. Heritage de classe avec classes internes
    Par Regis.C dans le forum Langage
    R�ponses: 11
    Dernier message: 27/04/2005, 12h19

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