继承是真的吗?

Posted

技术标签:

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

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

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

相关说明将不胜感激。

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

【问题讨论】:

相关说明可以在你的 C++ 书籍中找到。 @Grant 每当我忘记细节时,我都会重新访问此页面:***.com/questions/860339/… 【参考方案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

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

【讨论】:

以上是关于继承是真的吗?的主要内容,如果未能解决你的问题,请参考以下文章

子类真的继承私有成员变量吗?

多态你真的了解吗?

HashMap都在用,原理你真的了解吗?

MyBatis 6StatementPreparedStatement,如何抉择,你真的了解吗?小白必看,面试必考

Java继承与组合

Java中的String类真的不可变吗?