我有C類,它繼承自A類和B類。 是否有可能使用此類訪問B類函數(例如fun1())遺產。 A和B都是獨立班級,fun1()僅在班級B中。多繼承。如何訪問1個父類的成員函數到另一個父類
0
A
回答
1
不嚴格通過繼承。雖然A和B是C的父母,但A和B沒有關係,也無法訪問彼此。
它通過繼承和polimorphism是可能的,那麼類A有是c實現調用B中的功能的虛擬方法,像這樣:
class A {
public:
b get_b() { return do_get_b(); }
private:
virtual do_get_b() = 0;
};
class B {
public:
b some_b;
};
class C : public A, public B {
private:
virtual do_get_b() {return some_b;}
}
0
有時候,這是可能的。 An example how to achieve this.
該示例適用於鑽石層次結構,這比您的鑽石層次更復雜一些。用你的術語來說,ClassA和ClassB應該是從Base類派生的,ClassC是從ClassA和ClassB派生的。
0
您可以用dynamic_cast的檢查,看看是否你的一個對象實際上是C的一個對象,因此B如果A和B真的相互獨立,那麼最好找到一個不同的解決方案。
相關問題
- 1. 訪問繼承類的數據成員
- 2. 在python中訪問多個父類的數據成員
- 3. 繼承的函數將讀取父類或子類的數據成員?
- 4. C#:繼承一個子類,它從父
- 5. 繼承。從父類
- 6. 訪問另一個類的成員
- 7. 如何從父對象繼承父對象到另一個父對象?
- 8. 是否有一個訪問修飾符,它允許繼承類修改c#中父類的成員?
- 9. 從父類中的另一個子類訪問子類
- 10. 如何從另一個類的成員函數中訪問數據成員和成員函數?
- 11. 如何從多個父類繼承相同的名稱變量?
- 12. c#繼承多個父母
- 13. C#在3D列表中通過父類訪問繼承的成員
- 14. C++訪問繼承類的成員,其中繼承的類是模板參數
- 15. Python類繼承多,與訪問類成員
- 16. 多態性/繼承問題與虛擬類的成員函數
- 17. 使用另一個類成員的類成員函數指針
- 18. 如何將一個shared_ptr從一個父類轉換爲另一個父類?
- 19. 如何在繼承類中創建一個父類變量數組作爲私有成員
- 20. C#訪問成員變量從一個類到另一個
- 21. 是否有可能從一個嵌套類訪問父類的成員聚集
- 22. C++使用繼承父類
- 23. 如何從另一個類(不繼承)
- 24. 如何從繼承父類創建unique_ptr
- 25. 如何訪問繼承類中的靜態成員重寫?
- 26. 子類功能的父類繼承
- 27. 訪問另一個類的指針數組的一個類的成員
- 28. 如何從WPF的內部類訪問父母的成員?
- 29. 如何從父母的方法訪問孩子的繼承成員
- 30. 訪問父類
感謝您的偉大答案。但我並不清楚。 B班內部有什麼「b some_b」的意思。 Y在類A「b get_b()」內實現。 – Sijith 2012-04-25 06:53:05
b some_b是類型b的名爲「some_b」的成員變量 – daramarak 2012-04-25 08:19:01