C++ 访问控制符
访问控制符
到目前为止,您已经对我们所有类示例中出现的 public
关键字非常熟悉。
public
关键字是访问控制符。 访问控制符定义了如何访问类的成员(属性和方法)。在上例中,成员是 public
- 这意味着它们可以从代码外部访问和修改。
但是,如果我们想让成员私有并对外部世界隐藏怎么办?
在 C++ 中,有三种访问控制符
public
- 成员可以从类外部访问private
- 成员不能从类外部访问(或查看)protected
- 成员不能从类外部访问,但可以在继承类中访问。您将在稍后了解有关 继承 的更多信息。
在以下示例中,我们将演示 public
和 private
成员之间的差异
示例
class MyClass {
public: // 公共访问控制符
int x; // 公共属性
private: // 私有访问控制符
int y; // 私有属性
};
int main() {
MyClass myObj;
myObj.x = 25; // 允许(公共)
myObj.y = 50; // 不允许(私有)
return 0;
}
如果您尝试访问私有成员,则会发生错误
error: y is private
注意:可以使用同一个类中的公共方法来访问类的私有成员。请参阅下一章 (封装) 以了解如何做到这一点。
提示:将您的类属性声明为私有(只要您能做到)被认为是良好的做法。这将减少您(或其他人)弄乱代码的可能性。这也是 封装 概念的主要成分,您将在下一章中了解更多相关信息。
注意:如果未指定访问控制符,则默认情况下,类的所有成员均为 private
示例
class MyClass {
int x; // 私有属性
int y; // 私有属性
};