继承是真的吗?
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
当涉及到类访问其基类私有变量的能力时,继承的类型并不重要。
【讨论】:
以上是关于继承是真的吗?的主要内容,如果未能解决你的问题,请参考以下文章