我正在使用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


我在哪里放置#includes。存储取决于歌曲数据类型,因为它主要用于操纵,更改标题和移动它们等。对于这似乎是个新手问题,我感到抱歉,但我真的不知道,也没有找到可靠的答案。我还想声明一个在实现文件之间共享的全局常量,这可能吗?

最佳答案

我的观点是,每个头文件都应该可以包含在内,而程序员不必记住要包含的其他内容。这并非总是可以实现的,但我认为这是一个很好的规则。

换句话说,如果“ storage.h”需要在“ song.h”中声明的内容,则它应包含“ song.h”-这样,使用“ storage.h”的任何人都无需记住以下内容: “ song.h”。

例如,如果“ storage.h”也使用“ fstream”中的内容,则应包含“ fstream”。

换句话说,如果您在文件中包含“ storage.h”,则只需要使用“ storage”类即可。

关于c++ - 使用多个文件时,预处理器命令应该放在哪里?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15849846/

10-13 01:59