我正在爲使用C++的學校做一個項目,該項目將被拆分成多個文件。使用多個文件時,我會在哪裏放置預處理器命令?
test_driver.cpp - a file to test the code written
storage.cpp - implementation file for storage class and methods
storage.h - header file for storage
song.cpp - implementation file for song class, songs are the data type being manipulated by storage
song.h - header file for song
我在哪裏放我的#包括。存儲取決於歌曲數據類型,因爲它主要是在操縱它們,改變標題和移動它們等。我很抱歉,如果這看起來像一個新問題,但我真的不知道,並且還沒有找到一個確切的答案。我還想聲明一個全局常量以在實現文件中共享,這可能嗎?
以及像fstream和iostream這樣的依賴關係,我是否應該在必要時將它們包含在實現文件中?但是使用#ifndef預處理器確保沒有任何內容被複制多次?感謝您的想法constants.h。 – user1768079 2013-04-06 10:55:14
它取決於你的h文件是否也使用流/ iostream中的定義;如果他們沒有(或者你可以轉發聲明他們),那麼最好只包含來自cpp文件的h文件,因爲它會減少你的依賴關係圖(參見Lakos)。 – sergio 2013-04-06 10:58:03