2011-01-12 145 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