我有一個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. 如何從我的班級列表中找到從特定班級繼承的班級?
- 6. 從另一個班級功能調用班級功能
- 7. 從我的班級的Bs4繼承方法
- 8. 只能繼承從NSObject繼承的類@objc
- 9. 從另一個班級訪問班級?
- 10. 打字稿從另一個班級調用班級功能
- 11. 多級繼承:從子類
- 12. 鴨子班,ABC,繼承,__new__
- 13. 如何解決一個班級必須從2個基類繼承的問題
- 14. 多級繼承
- 15. 層次繼承
- 16. 不能從我的班級執行繼續
- 17. 學校:繼承,顯示我的班級工作?
- 18. 繼承錯誤:「期待的班級名稱」{'token「
- 19. Eclipse IDE。查看所有班級的繼承方法列表
- 20. ruby:自己從一個班級變爲另一個班級
- 21. 一個班級如何從另一個班級請求信息?
- 22. 將信息從一個班級拉到另一個班級
- 23. 從一個班級到另一個班級是否安全?
- 24. Java繼承超級
- 25. JPA 3級繼承
- 26. Codeigniter多級繼承
- 27. OOJS多級繼承
- 28. C# - 高級繼承
- 29. php4多級繼承
- 30. 從另一個班級訪問和更改班級成員功能
我不清楚你想要什麼。你希望B能夠從A繼承,但是沒有新的類能夠從兩者繼承? – David
您可能想要將'A'和'B'類合併到一個類中,並聲明該類爲'final'。 – jotik