c++;类专用访问修饰符 我有一个关于C++类访问修饰符的问题。如果我有一个基本类,假设它是这样的: class A { public: int a1; private: int a2; }

c++;类专用访问修饰符 我有一个关于C++类访问修饰符的问题。如果我有一个基本类,假设它是这样的: class A { public: int a1; private: int a2; },c++,private,C++,Private,如果我创建了另一个名为C的类,它可以从类A进行公共访问,那么变量a1对于类C来说是公共的。如果访问是私有的,那么a1对于类C来说是私有的,但是如果类C可以从类A进行保护访问,那么a2对于类C来说是私有的。我的问题是,如果我创建了类C: class C: private A { public: int c1; private: int c2; } 在C类中,我有私有A2,但类A的变量A1是否为C类的公共变量?< P>基本类的可访问性规则在下面的C++标准< /P>中描述 11.2

如果我创建了另一个名为C的类,它可以从类A进行公共访问,那么变量a1对于类C来说是公共的。如果访问是私有的,那么a1对于类C来说是私有的,但是如果类C可以从类A进行保护访问,那么a2对于类C来说是私有的。我的问题是,如果我创建了类C:

class C: private A
{
public:
    int c1;
private:
    int c2;
}

在C类中,我有私有A2,但类A的变量A1是否为C类的公共变量?

< P>基本类的可访问性规则在下面的C++标准< /P>中描述 11.2基类和基类成员的可访问性[class.access.base]1如果类被声明为基类 (第10条)对于使用公共访问说明符的另一个类 基类的公共成员可以作为 基类的派生类和受保护成员是 可作为派生类的受保护成员访问。如果一个类是 声明为使用受保护的 访问说明符、基类的公共成员和受保护成员 可作为派生类的受保护成员访问如果一个类 声明为另一个使用私有 访问说明符、基类的公共成员和受保护成员 可作为派生类的私有成员访问


理解这一点的最佳示例非常感谢,这很有帮助!