我正在学习C ++。文档learn.microsoft.com/en-us/cpp/cpp/member-access-control-cpp说:
然而,从前面引用的示例略微调整的以下代码导致错误C2247:当您将基类指定为私有时,它仅影响非静态成员。公共静态成员仍可在派生类中访问。
我将感激任何对这种情况的帮助。'Base :: y'无法访问,因为'Derived1'使用'private'从'Base'继承。
class Base
{
public:
int x;
static int y;
};
class Derived1 : private Base
{
};
class Derived2 : public Derived1
{
public:
int ShowCount();
};
int Derived2::ShowCount()
{
int cCount = Base::y;
return cCount;
}
::Base::y
来正确获取作用域。 - Peter