2013-12-15 64 views
-1

我有一個包含幾個類的項目。我在這個項目中添加了其中一個類使用的幾個函數,名爲MainClass。我把所有這些功能放在一個文件stuff.h。要使用這些功能,我需要在類MainClass的實施開始時包含stuff.h文件。我想知道這是一種很好的編程風格,還是創建一個新類並將我的函數添加到這個類中會更好。然後我在MainClass中實例化這個類。OOP風格,類,函數庫

回答

0

不太好風格。從事實頭文件開始,實際上並不打算有真正的代碼,而是在其他地方定義的事物的聲明。

如果你的'外部'函數只能被MainClass使用,爲什麼不做它們的類方法呢?甚至可能是私人的,所以他們只能在課堂上看到?儘可能保持封裝。如果你試圖遵循C++,儘量不要使用'純C函數'。它是不同的語言。如果你絕對需要簡單的例程,請改用命名空間。但請嘗試將代碼保存在模塊(.cpp)中,而不是標題中。

關於其他類。這取決於你是否知道你爲什麼需要其他課程。如果你不知道爲什麼,你不需要它們。 BTW OOP並不總是「最好」的方法,尤其是在繼承和組合之間的平衡等方面。你應該明白你真正想要選擇合適的技術。

確實你需要很好的C++書。關於項目組成,編譯過程,翻譯單元的章節,以便您瞭解背後的邏輯。這Q &一個網站不能解釋你的一切。請給點意見。

+0

所以我只是把聲明放在stuff.h文件中,然後把實現放在stuff.cpp文件中。把這些功能放在一個單獨的類中是一個壞主意嗎?謝謝。 – user3026374

+0

如果只有MainClass需要某些東西,爲什麼它不能成爲MainClass的一部分?好的,如果你看到組件邏輯,那麼啓動新的類模塊,比如說UtilityClass.cpp,在類或命名空間中實現代碼,並通過包含哪個MainClass可以看到它的接口來添加UtilityClass.h。這是關於C++項目的一般設計。看書,你無法避免它:-)。 –

+0

從你的答案看來,將這些函數添加到MainClass會更好。經過反思,這不是一個壞主意。對於類應包含的函數數量有限制嗎? – user3026374

0

我認爲這將是最好創建一個新的類,或由不同方式的功能將被用於訂購了新類。這更符合經典的OO。