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 :

Acces aux attributs privés


Sujet :

C++

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 62
    Points
    62
    Par défaut Acces aux attributs privés
    Bonjour,
    J'ai une erreur au niveau d'acces aux attributs privé
    voilà mon code

    A.hpp

    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
     
    #include <stdlib.h>
    #include <iostream>
     
     
     
    class A
    {
    private:
    	int x,y;
    public:
    	A(int a,int b):x(a),y(b){}
    	int getX() const{ return x;}
    	int getY() const{ return y;}
     
    	bool operator<(A&,A&);
     
     
    };
    main.cpp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    #include "A.hpp"
     
    int main()
    {
    A a1(1,2);
    return 0;
    }
    J'ai une erreur au niveau du constructeur
    A.hpp:9: error: ‘A::A(int, int)’ is private
    main.cpp:7: error: within this context

    Merci

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    533
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 533
    Points : 1 086
    Points
    1 086
    Par défaut
    Il n'y a aucune raison pour que ce code échoue... enfin il me semble.
    Tu n'aurais pas par hasard inclus un fichier "périmé" en lieu et place de A.hpp ?

    Quelques remarques :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    // En C++, prend l'habitude d'inclure via <c***> ce que tu aurais inclus en C via <***.h>
    #include <cstdlib>
     
    class A {
    ...
    // Les opérateurs de comparaison n'ont besoin que d'un argument s'ils sont membres d'une classe (l'autre opérande étant naturellement *this)
    bool operator< (const A&) const;
    }

  3. #3
    Rédacteur
    Avatar de 3DArchi
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    7 634
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 7 634
    Points : 13 017
    Points
    13 017
    Par défaut
    Salut,
    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
    class A
    {
    private:
    	int x,y;
    public:
    	A(int a,int b):x(a),y(b){}
    	int getX() const{ return x;}
    	int getY() const{ return y;}
     
    };
     
    int main()
    {
    A a1(1,2);
    return 0;
    }
    cela compile sans problème.

    Pareil que cob59 pour cstdlib et pour l'opérateur < à ceci près :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     class A {
    ...
    // Les opérateurs de comparaison n'ont besoin que d'un argument s'ils sont membres d'une classe (l'autre opérande étant naturellement *this)
    bool operator< (const A&) const;
     
    // ou il s'agit d'un opérateur externe et peut être as-tu voulu lui donner l'amitié :
    friend bool operator<(A const & lhs_, A const & rhs_);
    }

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    148
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 148
    Points : 62
    Points
    62
    Par défaut
    C'est bon ça compile, merci beaucoup
    parcontre j'ai une autre question, c'est par rapport au const qui est après les fonction il sert à quoi exactement

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    243
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 243
    Points : 415
    Points
    415
    Par défaut
    Merci de consulter la FAQ avant de faire une demande : Pourquoi certaines fonctions membres possèdent le mot clé const après leur nom ?

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

Discussions similaires

  1. Simulation de POO : accès aux attributs privés d'un objet
    Par Bleys dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 16/12/2010, 21h24
  2. [POO] Acces aux attributs d'un objet depuis une methode evenement :s
    Par NikoGJ dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 13/07/2006, 19h01
  3. Acces aux attributs d'un bean dans une jsp
    Par mariemor64 dans le forum Struts 1
    Réponses: 2
    Dernier message: 02/06/2006, 10h32
  4. Accès aux attributs d'une balise HTML
    Par tatou42 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 09/02/2006, 14h01
  5. [DOM] Accès aux attributs d'un noeud
    Par vasilov dans le forum Format d'échange (XML, JSON...)
    Réponses: 8
    Dernier message: 13/07/2005, 14h19

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