到现在为止,你已经非常熟悉了public
出现在我们所有类示例中的关键字:
这个public
关键字是一个访问说明符。访问说明符定义如何访问类的成员(属性和方法)。在上面的例子中,成员是public
- 这意味着可以从代码外部访问和修改它们。
但是,如果我们希望成员是私密的并且对外界隐藏怎么办?
在 C++ 中,存在三个访问说明符:
public
- 可以从类外部访问成员private
- 无法从类外部访问(或查看)成员protected
- 成员不能从类外部访问,但是可以在继承类中访问。您将了解更多有关继承之后。在下面的例子中,我们展示了之间的差异public
和private
成员:
class MyClass {
public: // Public access specifier
int x; // Public attribute
private: // Private access specifier
int y; // Private attribute
};
int main() {
MyClass myObj;
myObj.x = 25; // Allowed (public)
myObj.y = 50; // Not allowed (private)
return 0;
}
如果您尝试访问私有成员,则会发生错误:
error: y is private
笔记:可以使用同一类中的公共方法来访问类的私有成员。请参阅下一章(封装)关于如何做到这一点。
提示:将类属性声明为私有(尽可能频繁地)被认为是一种很好的做法。这将减少您自己(或其他人)弄乱代码的可能性。这也是它的主要成分封装概念,您将在下一章中了解更多内容。
笔记:默认情况下,类的所有成员都是private
如果您不指定访问说明符:
class MyClass {
int x; // Private attribute
int y; // Private attribute
};
截取页面反馈部分,让我们更快修复内容!也可以直接跳过填写反馈内容!