private access specifier | Restricts member access to the class |
access-specifier := private |
The private keyword can be used within a class definition (followed by a colon ) to mark subsequent member declarations as private or before a base-class name in the class header to mark the inheritance as private. The default access level of a class is private, both for members and base classes.
Private members can be used by the class itself or by friends .
Private inheritance means all public and protected members in the base class are private to the derived class.
class rational { public : rational(int n, int d) : num_(n), den_(d) { reduce( ); } rational( ) : num_(0), den_(1) {} int num( ) const { return num_; } int den( ) const { return den_; } protected : void reduce( ); // Reduce num_ and den_ by gcd. private: int num_, den_; }; class derived : public rational {}; class myrational : private rational { public : using rational::num; using rational::den; };
class , protected , public , struct , Chapter 6