2011-01-12 107 views
3

我有关于C++中嵌套继承的问题。我有三类:Base,MiddleTop。通常我使用公有继承从Middle派生的时候,但我有一个类(Top)已经从Middle私有继承,但是它应该公开Base方法为公共用途...C++中的嵌套继承

这里是我的解决方案,可以吗?

class Base 
{ 
    // ... 
} 

class Middle : 
    public virtual Base 
{ 
    // ... 
} 

class Top : 
    public virtual Base, 
    private Middle 
{ 
    // ... 
} 

回答

2

假设Base有一个成员函数foo,你可以把这个Top

public: 
    using foo; 

同样对于需要公开揭露任何其他成员。

+0

好的,我知道这种方式,但我想公开整个Base接口。 – Goofy 2011-01-12 13:37:36