我有一個class A
,我需要A class B: public A
的子類。我怎樣才能實現我可以從這個類繼承,但沒有人可以從這兩個類繼承? 如果我讓class A
最終B不能繼承A.只能從班級繼承一次
1
A
回答
2
正如我評論:我不清楚你想要什麼。你想B
能夠從A
繼承,但是沒有新的類能夠從任何一個繼承?按照這個假設,你最好的選擇是讓A
的私人和朋友B
,同時使B
最終。
我不知道你在做什麼,設計明智,但這是糟糕的設計。但它確實回答了你的問題。
5
C++沒有辦法說只有一個類可以從另一個類繼承。或者一個班級是final
(因此不可以),或者不是。
絕對最好你可以做的是有A
宣佈它的構造函數私人並使B
朋友A
。但是這會讓其他用戶難以創建A
類型的對象。
2
只是一個想法(雖然我不認爲這實際上是一個很好的設計):雖然之前提到
class B;
class A {
// everything's private
friend class B; // << except for class B
};
class B final // << final prevents from further inheritance
: A {
public:
// What you want to publish ...
};
,我沒有看到多少點class A
除非你想有更多的類實例化如class B
。
相關問題
- 1. 我怎樣才能找出我的班級從哪個班級繼承?
- 2. 從一個班級繼承以後會傷害你嗎?
- 3. 班級繼承的最佳設置
- 4. 如何從我的班級列表中找到從特定班級繼承的班級?
- 5. 從我的班級的Bs4繼承方法
- 6. 只能繼承從NSObject繼承的類@objc
- 7. 從另一個班級訪問班級?
- 8. 多級繼承:從子類
- 9. 多級繼承
- 10. 層次繼承
- 11. 不能從我的班級執行繼續
- 12. 繼承錯誤:「期待的班級名稱」{'token「
- 13. Eclipse IDE。查看所有班級的繼承方法列表
- 14. 將信息從一個班級拉到另一個班級
- 15. 一個班級如何從另一個班級請求信息?
- 16. C# - 高級繼承
- 17. Codeigniter多級繼承
- 18. php4多級繼承
- 19. 從另一個班級訪問和更改班級成員功能
- 20. Java。從其他班級執行班級?
- 21. 從新班級取得班級
- 22. 有一個班級只有一個班級使用的設計很差嗎?
- 23. 如何在另一個班級中多次引用同一班級?
- 24. 不能從基類繼承
- 25. 代碼第一次級聯刪除使用繼承
- 26. 從另一個班級訪問「班級會話」
- 27. 如何從另一個班級訪問班級?
- 28. 如何從另一個班級訪問班級?
- 29. 問題wile從另一個班級調用班級
- 30. 如何從一個班級移動到其他班級android
我不清楚你想要什麼。你希望B能夠從A繼承,但是沒有新的類能夠從兩者繼承? – David
您可能想要將'A'和'B'類合併到一個類中,並聲明該類爲'final'。 – jotik