User Tools

Site Tools


in204:cpp:syntax:public

Les modificateurs d'accessibilité

Les membres d'une classes peuvent être :

  • publics (public)
  • privés (private)
  • protégés (protected)

Les membres publics

Un membre public est accessible à la fois :

  • par les fonctions membres de la classe,
  • par les fonctions membres des classes dérivant de la classe,
  • par les fonctions membres des autres classes,
  • et par toutes les autres fonctions.

Les membres privés

Un membre private est accessible :

  • uniquement par les fonctions membres de la classe,

Un membre private ne peut-être accéder :

  • par les fonctions membres des classes dérivant de la classe,
  • par les fonctions membres des autres classes,
  • et par toutes les autres fonctions.

Les membres protégés

Un membre protected est accessible uniquement :

  • par les fonctions membres de la classe,
  • par les fonctions membres des classes dérivant de la classe,

Un membre private ne peut-être accéder :

  • par les fonctions membres des autres classes,
  • et par toutes les autres fonctions.

Exemple

class Point
{
  private:
    double X;
    double Y;
  public:
    Point(): X(0.0), Y(0.0) 
    {}
    Point(double x, double y): X(x), Y(y) 
    {}
    Point(const Point& anotherPoint):
        X(anotherPoint.X), Y(anotherPoint.Y)    
    {}
 
    double getX() const { return X; }
    double getY(double aValue) { return Y; }
 
    void setX(double aValue) { X = value; }
    void setY(double aValue) { Y = value; }
 
    double norm() { return sqrt(X*X + Y*Y); }
}
 
int main()
{
    Point P(3.0, 4.3);
    Point P(3.0, 4.3);
    std::cout << "X: " << P.getX() << ", Y: " << P.Y << std::end;
                               // Erreur d'accès, Y est privé.
    std::cout << "Norme de P: " << P.norm() << std::endl;
    return 0;
}    
in204/cpp/syntax/public.txt · Last modified: 2022/11/18 10:50 (external edit)