文章目录
- 概述
- public
- private
- protected
- 示例代码
- 小结
概述
C++中的访问修饰符用于控制类成员(包括数据成员,成员函数)的可见性和可访问性。 C++中有三种访问级别:public, private, protected。下面一个一个说下。
public
- public 成员可以被任何访问类的对象或引用的代码访问。它们是类与外部世界交互的主要方式。
- 任何继承自该类的子类也可以访问public成员。
private
- private成员只能在类的内部访问,即它们不能被类的外部代码访问,也不能被任何子类访问。
- private成员是封装的一部分,它们隐藏了类的实现细节,只允许通过类的公共接口进行操作。
protected
- protected成员可以被类的内部访问,也可以被继承类访问,但不能被类的外部访问。
- 这允许继承类访问基类的protected成员,但保持了对外部代码的封装。
示例代码
访问修饰符的默认行为取决于类本身是否被声明为public、private或protected。如果一个类没有显式指定访问修饰符,它默认是private的,这意味着你不能从类的外部访问它的成员。
下面来个简单的示例吧,代码如下:
class Base {
public:
void publicFunc() {} // 公共成员函数
private:
void privateFunc() {} // 私有成员函数
protected:
void protectedFunc() {} // 受保护的成员函数
};
class Derived : public Base {
public:
void test() {
publicFunc(); // 可以访问基类的公共成员
protectedFunc(); // 可以访问基类的受保护的成员
// privateFunc(); // 错误:不能访问基类的私有成员
}
};
int main() {
Base b;
b.publicFunc(); // 可以访问
// b.privateFunc(); // 错误:不能访问
// b.protectedFunc(); // 错误:不能访问
Derived d;
d.publicFunc(); // 可以访问
d.protectedFunc(); // 可以访问
// d.privateFunc(); // 错误:不能访问
}
小结
这篇主要写的是访问修饰符,public,private,protected,以及它们的使用情况。当然,还是要看具体的实际情况的。感兴趣,可以一起来学习学习。OK,这篇结束。翻篇!