【问题标题】:Is this true about inheritance?继承是真的吗?
【发布时间】:2015-03-20 20:46:33
【问题描述】:

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

这是我的结论。这是正确的吗?

相关说明将不胜感激。

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

【问题讨论】:

标签: c++


【解决方案1】:

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

当涉及到类访问其基类私有变量的能力时,继承的类型并不重要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 2020-06-02
    • 1970-01-01
    • 2012-12-25
    相关资源
    最近更新 更多