有人可以給我一個例子:我如何多繼承int,從第一類和字符串,從第二類到第三類浮動?例子如何做多重繼承?
回答
1)您可以繼承基類 類型的加農炮。
2)正常多個 繼承看起來像這樣:
class A { /* ... */ };
class B { /* ... */ };
class C { /* ... */ };
class X : public A, private B, public C { /* ... */ };
所以我只用「,」NICE – zreed 2010-08-25 18:57:43
class A
{
private:
int i;
float f;
};
class B
{
private:
char c;
std::string s;
};
class C : public A, public B
{
};
C
類型的對象現在包含成員i
,f
,c
,和s
。請注意,您將無法從C
的方法中訪問這些成員,因爲它們分別保留爲A
和B
。爲了從C
方法中訪問這些方法,他們原本必須聲明爲public
或protected
而不是private
,但這不是好的設計。
你的意思是繼承自int和float字段的類以及包含char和string字段的第二個類嗎?
class1
{
int anInt;
float aFloat;
}
class2
{
char aChar;
string aString;
}
class3 : public class1, public clas2
{
...
}
可以傳遞protected int,float嗎? – zreed 2010-08-25 19:02:56
通常情況下,不要使用多重繼承來獲得對數據的訪問(數據通常應該是私有的,所以派生類不能無論如何訪問它)。
多繼承基本上產生一個對象具有不止一組屬性。例如,考慮門,一些木材和部分鋼材:
class steel {
unsigned int AISI_number;
char Rockwell_scale;
unsigned int Rockwell_number;
};
class wood {
double density;
std::string species;
};
class door {
int width;
int height;
unsigned char num_hinges;
};
class wooden_door : public wood, public door {};
class steel_door : public steel, public door {};
這是一個有點做作,因爲它可能是非常罕見的,我們會真正在意的鋼門(如鋼,它的1020已經硬化到羅克韋爾C40的鋼),但我希望總體思路能夠通過。 [是的,我知道所有的數據是無法訪問的,因爲它都是私有的,並且沒有代碼可以在任何類中訪問它...]
- 1. 多重繼承
- 2. 多重繼承
- 3. 多重繼承()
- 4. 多重繼承
- 5. Django多級模板繼承的例子?
- 6. C++中的多重繼承(Qt示例)
- 7. Haskell:類型類:多重繼承示例
- 8. C++多重繼承
- 9. 多重繼承:2Classes1Method
- 10. 多重繼承:什麼是一個好例子?
- 11. 虛擬繼承如何解決「菱形」(多重繼承)歧義?
- 12. 如何設計缺乏多重繼承?
- 13. 如何僞造多重繼承?
- 14. 如何處理這種多重繼承?
- 15. 如何模擬多重繼承在C#
- 16. 如何給JsDoc多重繼承或mixins?
- 17. 多級繼承:從子類
- 18. Python的多重繼承
- 19. 多重繼承ambigious功能
- 20. 多重繼承:QGraphicsPixmapItem和QGraphicsTextItem
- 21. Objective-C多重繼承
- 22. gcc thunk hack多重繼承
- 23. Java的多重繼承ActionBarActivity
- 24. Codeigniter和多重繼承
- 25. C#多重泛型繼承
- 26. 多重繼承批評
- 27. 繼承和多重構造
- 28. 接口的多重繼承
- 29. 多重繼承層次
- 30. LINQtoSQL中的多重繼承?
該語句有點難以解析,但是我我很確定他的意思是「我如何從一個類繼承int和float *成員*以及從第二個類繼承char和string *成員」 – 2010-08-25 18:57:06