我有一個包含幾個類的項目。我在這個項目中添加了其中一個類使用的幾個函數,名爲MainClass
。我把所有這些功能放在一個文件stuff.h
。要使用這些功能,我需要在類MainClass
的實施開始時包含stuff.h
文件。我想知道這是一種很好的編程風格,還是創建一個新類並將我的函數添加到這個類中會更好。然後我在MainClass
中實例化這個類。OOP風格,類,函數庫
-1
A
回答
0
不太好風格。從事實頭文件開始,實際上並不打算有真正的代碼,而是在其他地方定義的事物的聲明。
如果你的'外部'函數只能被MainClass使用,爲什麼不做它們的類方法呢?甚至可能是私人的,所以他們只能在課堂上看到?儘可能保持封裝。如果你試圖遵循C++,儘量不要使用'純C函數'。它是不同的語言。如果你絕對需要簡單的例程,請改用命名空間。但請嘗試將代碼保存在模塊(.cpp)中,而不是標題中。
關於其他類。這取決於你是否知道你爲什麼需要其他課程。如果你不知道爲什麼,你不需要它們。 BTW OOP並不總是「最好」的方法,尤其是在繼承和組合之間的平衡等方面。你應該明白你真正想要選擇合適的技術。
確實你需要很好的C++書。關於項目組成,編譯過程,翻譯單元的章節,以便您瞭解背後的邏輯。這Q &一個網站不能解釋你的一切。請給點意見。
0
我認爲這將是最好創建一個新的類,或由不同方式的功能將被用於訂購了新類。這更符合經典的OO。
相關問題
- 1. OOP風格編碼
- 2. OOP風格問題
- 3. PHP mysqli_fetch_array()OOP風格
- 4. Python OOP編碼風格
- 5. OOP編程風格決定
- 6. OOP和MVC編程風格
- 7. 用於隨機函數的Java/Android OOP風格
- 8. PHP數據庫類加載行函數(OOP)
- 9. 如何在OOP風格中使用TensorFlow?
- 10. 替代OOP中的C風格結構
- 11. 處理OOP風格的圖形
- 12. OOP風格的繼承哈斯克爾
- 13. 如何在OOP風格中使用mysqli_free_result?
- 14. 更純粹的OOP風格的授權
- 15. Javascript OOP,函數
- 16. JavaScript函數聲明風格
- 17. 的Javascript函數風格
- 18. 靜態類C#構造函數OOP
- 19. C++ OOP類和構造函數
- 20. OOP數據庫連接/斷開類
- 21. Python OOP --action()函數
- 22. lambda函數和OOP
- 23. oop行爲類似構造函數參數類型的類
- 24. 無法獲取JavaScript數組中OOP風格
- 25. CSS類風格
- 26. OOP - 如何調用一個函數類的構造函數
- 27. Python的風格問題,函數參數
- 28. 函數與OOP問題
- 29. PHP函數OOP陣列拉
- 30. OOP項目函數錯誤
所以我只是把聲明放在stuff.h文件中,然後把實現放在stuff.cpp文件中。把這些功能放在一個單獨的類中是一個壞主意嗎?謝謝。 – user3026374
如果只有MainClass需要某些東西,爲什麼它不能成爲MainClass的一部分?好的,如果你看到組件邏輯,那麼啓動新的類模塊,比如說UtilityClass.cpp,在類或命名空間中實現代碼,並通過包含哪個MainClass可以看到它的接口來添加UtilityClass.h。這是關於C++項目的一般設計。看書,你無法避免它:-)。 –
從你的答案看來,將這些函數添加到MainClass會更好。經過反思,這不是一個壞主意。對於類應包含的函數數量有限制嗎? – user3026374