2016-05-12 26 views
1

我有繼承類A和類B(但不是所有類都繼承這兩個類)的類1,類2等的數量。具有多重繼承和從屬父類的設計

代碼如下所示:

class 1: public A, public B 
{ 
    getVar() { return mVar; } 
} 

class 2: public A, public B 
{ 
    getVar() { return mVar; } 
} 

class A 
{ 
    protected: int mVar; 
} 

class B 
{ 
    virtual int getVar()=0; 
} 

在這裏我得到變量從類A類B.但是,我要實現所有這些都來自一個派生類(classN)getVar() { return mVar; }和B.
什麼應該是正確的設計方法,以便我可以給出一個默認實現,而不必在所有派生類中編寫相同的代碼。

+0

爲了在這裏得到建議,你必須讓你的例子更「真實」*(說實話,請不要寫'class 1:'之類的東西。 ..'在你的例子中...使代碼儘可能形成)*。這是如何使用的? getVar()應該如何處理僅繼承自B的類?如果您從A繼承,然後將指針上傳到A,那麼您是否仍然可以在'A *'上調用' - > getVar()'?基本上說:如果你要涉足多重繼承,那麼你需要確定你爲什麼要這麼做的用例。 – HostileFork

回答

1

定義繼承自A和B並在那裏執行getVar() { return mVar; }的類C。那麼你可以從C繼承你先前從A和B繼承的地方。