====== 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; }