2010-07-20 72 views
3

任何人都可以提出混合繼承的任何現實生活的例子嗎?混合繼承示例

+1

「混合遺傳」這個詞不常見(或者至少我以前沒有聽說過),你指的是什麼? – 2010-07-20 12:30:38

+0

我想他/他的意思是這個:http://wiki.answers.com/Q/What_is_Hybrid_Inheritance_in_CPP(注意C++標籤) – 2010-07-20 12:32:18

+0

是p.marino你是對的.. – Mayur 2010-07-20 12:34:43

回答

1

Hybrid Inheritance是一種將一種或多種類型的繼承組合在一起的方法。幾乎在任何時候我需要實現一個接口時,我都使用Multilevel inheritance + Single Inheritance。

struct ExtraBase { void some_func(); }; 
struct Base : public ExtraBase {}; 
struct Derived : public Base, public IUnknown {}; 

... 
Derived x = new Derived; 
x->AddRef(); 
x->some_func(); 

這裏是Derived使用來自ExtraBase(多級繼承)和Derivedsome_func使用AddRef從中繼承一個單一的時間IUnknown一個例子。當然,這不是來自生產代碼,但它的想法就是接近它。

+0

應該'Base'派生自'ExtraBase' in代碼? – 2010-07-20 13:34:57

+0

是的,修正了這個問題。 – 2010-07-20 13:55:01

+0

你可以給我一些使用混合遺傳的真實生活的例子嗎? – Mayur 2010-07-26 03:43:44