我想知道是否有某種方法來聲明一個變量是一個基類的成員數據,以便它不是從派生類繼承。我在我的基類中有一些成員數據,它們不應該是派生類的對象的一部分,所以我想分離什麼應該從什麼不應該繼承。有沒有辦法做到這一點?派生類和保護基類的成員數據
-1
A
回答
0
0
Ric,是的。我認爲這只是C++中的一個功能而已。我真正想做的是創建一個基類,其中的成員數據帶有某種前綴,以防止數據被子類繼承。例如:noinherit void func1();或noinherit double x; noinherit只是我定義的一些關鍵字,用於定義不應由子類繼承的數據。從某種意義上說,我希望能夠確定孩子從父母遺傳下來的基因,而不是僅僅獲得父母基因全部集合的孩子,並且僅僅基於哪些基因是私人的而具有某種表型,是公共的還是受保護的,以使用遺傳學比喻。
相關問題
- 1. 從派生類訪問基類的受保護數據成員
- 2. 派生類不能使用成員指針受保護的基類成員
- 3. 多態性:從基類中的受保護成員派生?
- 4. 訪問派生類中的類的受保護成員
- 5. 無法訪問受保護的類成員在派生類中
- 6. 基數和派生類中的相同數據成員
- 7. C++派生類訪問基類成員
- 8. 在派生類的成員函數創建基礎類的實例時,基類的構造函數是保護
- 9. 爲什麼派生類不能訪問受保護的基類成員?
- 10. 檢查派生類的數據成員
- 11. 受保護的派生類
- 12. 從派生類構造函數初始化受保護的數據成員
- 13. 基數與派生類之間的繼承數據成員C++
- 14. 如何訪問派生類中的受保護成員?
- 15. C#繼承 - 爲派生類添加受保護的成員
- 16. 受保護的成員不能在派生類中訪問
- 17. C#在派生類中訪問受保護的成員
- 18. C++聯基類成員派生類成員
- 19. C++ |重用基類的保護成員
- 20. 訪問基類從派生類中受保護的嵌套類
- 21. std :: bind() - 來自派生類的成員函數的基本保護成員函數
- 22. 訪問基類成員中派生
- 23. C++派生類重寫與其他派生類的基類成員?
- 24. 只給一些派生類訪問基類的成員函數
- 25. 從基類成員函數返回派生類的實例
- 26. 訪問派生類成員的基類函數
- 27. 調用與多個派生類基類的成員函數
- 28. 初始化基類的常量成員的成派生類
- 29. 基類中的通用受保護數據成員?
- 30. 派生類不能訪問基類的受保護方法
私有字段/方法/屬性不容易被派生類使用。會有幫助嗎?也看到這裏http://stackoverflow.com/questions/2950820/are-private-members-inherited-in-c – Ric
@Ric但他們仍然住在對象內。您可以通過封裝(如果提供或通過反射)來訪問它 –
請參閱最高回答中留下的評論:如果嘗試使用derivedType.GetField(「f」,BindingFlags.Instance | BindingFlags.NonPublic ),即使這在技術上應該返回所有繼承的成員,也不會得到任何回報。 – Ric