C++ 类的访问控制



C++ 中类的访问控制

在学习如何定义类及其对象之前,让我们先快速了解什么是访问修饰符。

C++ 类中的访问修饰符定义了访问控制规则。 C++ 引入了 3 个新关键字,即:

  1. public
  2. private
  3. protected

这些访问修饰符用于为类成员的访问权限,无论是数据成员还是成员函数,访问修饰符的后面要跟一个冒号。

你可以在一个类中使用1个、2个或全部3个修饰符来为不同的类成员设置不同的访问权限,访问修饰符改变了所有跟在它们后面声明的成员的权限。



C++ 中的公共访问修饰符

Public,在 public 下声明的所有类成员将可供所有人使用。声明为public的数据成员和成员函数也可以被外部或其他类访问,它们很容易被改变,所以关键成员数据不能被声明为public。

class PublicAccess
{
    // public访问修饰符
public:   
    int x;            // 声明数据成员
    void display();   // 声明成员函数
}


C++ 中的私有访问修饰符

Private 关键字,没有人可以在该类之外访问声明为 private 的类成员,如果有人试图访问一个类的私有成员,他们将得到一个编译错误,默认情况下,类变量和成员函数是私有的。

class PrivateAccess
{
    // private 访问修饰符
    private:   
    int x;            // 声明数据成员
    void display();   // 声明成员函数
}



C++ 中的受保护访问修饰符

protected,是最后一个访问说明符,和 private 类似,它使类成员在类外不可访问,但是它们可以被该类的任何子类访问。 (如果 A 类被 B 类继承,那么 B 类就是 A 类的子类,我们稍后会学习继承。)

class ProtectedAccess
{
    // protected 访问修饰符
    protected: 
    int x;            // 声明数据成员
    void display();   // 声明成员函数
}