全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  c语言面试题  >  详情

c++类成员的访问范围

来源:千锋教育
发布人:zyh
2023-05-31

推荐

  在 C++ 中,类的成员可以设置不同的访问权限,以控制对这些成员的访问范围。C++ 中有三种访问权限修饰符:public、protected 和 private。

c++类成员的访问范围

  public:公有访问权限是最开放的权限,表示该成员对外部代码是可见和可访问的。公有成员可以在类内部和类外部访问。

  protected:保护访问权限介于公有和私有之间,表示该成员对外部代码是不可见的,但对派生类是可见的。保护成员可以在类内部和派生类中访问,但不能在类外部访问。

  private:私有访问权限是最严格的权限,表示该成员对外部代码和派生类都是不可见的。私有成员只能在类内部访问。

  默认情况下,类的成员的访问权限是 private,除非显式指定其他访问权限。

  以下是一个示例,演示了不同访问权限修饰符的使用: 

class MyClass {
public:
int publicVar; // 公有成员变量
void publicFunc(); // 公有成员函数

protected:
int protectedVar; // 保护成员变量
void protectedFunc(); // 保护成员函数

private:
int privateVar; // 私有成员变量
void privateFunc(); // 私有成员函数
};

void MyClass::publicFunc() {
// 可以访问公有、保护和私有成员
publicVar = 10;
protectedVar = 20;
privateVar = 30;
}

void MyClass::protectedFunc() {
// 可以访问保护和私有成员
protectedVar = 40;
privateVar = 50;
}

void MyClass::privateFunc() {
// 只能访问私有成员
privateVar = 60;
}

int main() {
MyClass obj;
obj.publicVar = 100; // 可以访问公有成员变量
obj.publicFunc(); // 可以调用公有成员函数

//obj.protectedVar = 200; // 不可以访问保护成员变量,会导致编译错误
//obj.protectedFunc(); // 不可以调用保护成员函数,会导致编译错误

//obj.privateVar = 300; // 不可以访问私有成员变量,会导致编译错误
//obj.privateFunc(); // 不可以调用私有成员函数,会导致编译错误

return 0;
}

  通过设置适当的访问权限,我们可以控制类的成员在不同的上下文中的可见性和可访问性,从而实现对类的封装和数据隐藏。

相关推荐

在线咨询 免费试学 教程领取