📜  C++ 中的公共 vs 受保护示例(1)

📅  最后修改于: 2023-12-03 14:59:48.397000             🧑  作者: Mango

C++ 中的公共 vs 受保护

在C++中,访问控制是非常重要的一项特性。它可以确保只有授权的对象才能访问一个特定的成员变量或成员函数。C++中的访问控制有三种级别:公共、私有和受保护。其中,公共和受保护是最常用的访问控制级别。

公共

公共访问控制级别是最宽松的级别,也是默认访问级别。在公共访问控制下,成员函数和成员变量可以被任何地方的代码访问。一个示例:

class Example {
public:
    int publicVar;

    void publicFunc() {
        // some code
    }
};

在这个示例中,publicVar 和 publicFunc() 都是公共的。这意味着,任何可以访问 Example 对象的代码都可以访问它们。

受保护

受保护访问控制级别介于公共和私有之间。在受保护访问控制下,成员函数和成员变量只能被其本身或其子类访问。一个示例:

class Example {
protected:
    int protectedVar;

    void protectedFunc() {
        // some code
    }
};

class DerivedExample : public Example {
public:
    void accessProtected() {
        protectedVar = 10; // valid
        protectedFunc(); // valid
    }
};

在这个示例中,protectedVar 和 protectedFunc() 是受保护的。这意味着,只有 Example 及其子类可以访问它们。在 DerivedExample 中,我们可以访问 base class 的 protected 成员变量和成员函数。

总结

在 C++ 中,公共和受保护访问控制级别都有其重要作用。公共访问级别非常宽松,可以被任何地方的代码访问。而受保护访问级别介于公共和私有之间,只有类自身以及其子类可以访问。在实际编程中,我们需要根据具体情况选择不同的访问控制级别,以确保代码的安全性和完整性。