这是关于继承的吗?

时间:2015-03-20 20:46:34

标签: c++

无论是公共,私有还是受保护的继承,基类的私有成员都不能被派生类专用的函数访问。

这是我的结论。这是对的吗?

相关说明将不胜感激。

此外,在私有继承中,基类的公共成员在派生类中是私有的,但派生类的新函数仍然可以直接访问它们。正确的吗?

1 个答案:

答案 0 :(得分:2)

Why not test it?

class Base {
private: 
    int a;
};

// Private inheritance.
class A : private Base {
public:
    A() {
        a = 0;
    }
};

这给了我:

error: 'int Base::a' is private

当涉及到类访问它的基类私有变量的能力时,继承的类型无关紧要。