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; // 私有属性
};