C++——权限控制

126 阅读1分钟

protected 访问权限

  • 继承方式:
    • 公有继承 (public):父类成员的访问权限在子类中保持不变。
    • 私有继承 (private):父类所有成员在子类中都变成私有权限。

public 关键字用于定义共有的成员,这些成员能在任何地方访问,不局限于内部。 protected 关键字用于定义受保护的成员,这些成员只能在类内部和派生类中访问,无法从外部访问。

class Animal {
protected:
    int age;
};

class Dog : public Animal {
public:
    void setAge(int a) { age = a; } // 可以访问 protected 成员
};

int main() {
    Dog myDog;
    // myDog.age = 5;  // 错误,无法直接访问 protected 成员
    myDog.setAge(5); 
    return 0;
}

要点:

  • protected 权限用于保护成员,限制其访问范围。
  • 私有继承和保护继承会缩小继承成员的访问权限。
  • 公有继承保持继承成员的访问权限不变。
  • 基类的 private 成员在派生类中无法访问。