C++ 访问说明符
访问说明符
到目前为止,您已经非常熟悉出现在我们所有类实例中的 public
关键字:
实例
class MyClass { // 类 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
注意:可以使用同一类中的公共方法来访问类的私有成员。请参阅下一章(封装)了解如何执行此操作。
提示:将类属性声明为私有(尽可能频繁)被认为是一种很好的做法。这将减少您自己(或其他人)弄乱代码的可能性。这也是封装概念的主要成分,您将在下一章中了解更多内容。
注意:默认情况下,如果您不指定访问说明符,类的所有成员都是私有的:
实例
class MyClass { int x; // 私有属性 int y; // 私有属性 };