C++ 访问说明符
访问说明符
访问说明符控制如何访问类的成员(属性和方法)。
它们有助于保护数据和组织代码,以便只有正确的部分可以被看到或更改。
使用访问说明符
public 关键字是一个访问说明符。
在下面的例子中,成员是 public 的——这意味着它们可以从代码外部访问和修改:
实例
class MyClass { // 类
public: // 访问说明符
// 类成员写在这里
};
但是,如果我们希望成员是私有的并对外部世界隐藏呢?
在 C++ 中,有三个访问说明符:
public- 成员可以从类外部访问private- 成员不能从类外部访问(或查看)protected- 成员不能从类外部访问,但是,它们可以在继承的类中访问。您将在稍后学习更多关于继承的知识。
Private
声明为 private 的成员不能从类外部访问。
在下面的例子中,我们演示了 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; // 私有属性
};
Protected
声明为 protected 的成员不能从类外部访问,但它们可以在子类中访问。
您将在后面的章节中了解更多关于继承的知识。
实际应用示例
- Public:就像您家的前门——任何人都可以进来。
- Private:就像一个锁着的抽屉——只有主人(或信任的朋友)可以打开它。
- Protected:就像一个只允许家人进入的房间——孩子(子类)可以进入,其他人不能。