小编Kar*_*lEL的帖子

访问指定为private的基类的公共静态成员

我正在学习C++.docs.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;
}
Run Code Online (Sandbox Code Playgroud)

c++ oop derived-class static-members

11
推荐指数
1
解决办法
779
查看次数

标签 统计

c++ ×1

derived-class ×1

oop ×1

static-members ×1