21xrx.com
2024-12-22 22:59:27 Sunday
登录
文章检索 我的文章 写文章
C++ 访问控制
2023-07-02 02:20:17 深夜i     --     --
C++ 访问控制 public private protected

C++是一种强大的编程语言,具有广泛的应用,例如开发操作系统,嵌入式系统、游戏等。C++中的访问控制是编写高质量代码的关键之一。C++中的访问控制包括public、private和protected。

public是C++中默认的访问控制级别。在类的公共部分可以使用public成员函数和数据成员。这些成员可以从类的外部访问。例如:


class MyClass {

public:

 int public_data;

 void public_member_function();

};

MyClass obj;

obj.public_data = 10;

obj.public_member_function();

在上面的示例中,public_data和public_member_function都是公共的。可以在类的外部访问它们。

private成员是只能在该类内部访问的成员。在类的私有部分可以声明private成员。这样可以防止该类的其他函数和类直接或间接地访问它们。例如:


class MyClass {

private:

 int private_data;

 void private_member_function();

public:

 void access_private_data();

};

void MyClass::access_private_data() {

 private_data = 10; // Error

 private_member_function(); // Error

}

MyClass obj;

obj.access_private_data();

在上面的示例中,private_data和private_member_function是类的私有成员,因此访问它们会导致编译错误。

protected成员与private成员类似,但也可以被派生类访问。在类的保护部分可以声明protected成员。这些成员可以被类的派生类访问,但不能被从外部访问。例如:


class MyBaseClass {

protected:

 int protected_data;

 void protected_member_function();

};

class MyDerivedClass : public MyBaseClass {

public:

 void access_protected_data();

};

void MyDerivedClass::access_protected_data() {

 protected_data = 10;

 protected_member_function();

}

MyDerivedClass obj;

obj.access_protected_data();

在上面的示例中,protected_data和protected_member_function是MyBaseClass的保护成员。在MyDerivedClass中,可以使用这些成员。

在使用C++编写代码时,必须根据程序需要选择合适的访问控制级别。正确使用访问控制可以减少代码中的错误和提高程序的安全性和可维护性。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复