我在不同的文件中有几个类。我想在main()
函数中使用来自文件机制的简单C读取 - 只读取两个文件中的两个整数,就是这样。
现在,我应该创建一个单独的File类并从那里处理它吗?
我应该在单独的"file.cpp"
文件中创建标准功能吗?
我应该直接在main()
写下这3到5行代码吗?
答案 0 :(得分:2)
我认为你的意思是你将OOP与程序编程混合在一起。如果是这样,那很好。 C ++旨在将这两者结合使用。
如果你想编写一个没有任何状态的函数,不要让它成为一个类的成员。只需编写一个名为read_values_from_file
的免费函数或任何你想要的函数。确定代码中的个人责任并将其分解为函数是一种很好的做法。
你应该把它放在哪个文件取决于你是否会重复使用它。如果您只是在main
的开头使用它,只需将其放入main.cpp
即可。不要仅仅为了它而给它自己的文件。否则,如果要在多个翻译单元中使用相同的功能,将其声明放在头文件中并将其定义放在实现文件中可能会很有用。
无论你把它放在哪里,都不要让这个功能成为一个类的成员。这是Java程序员所做的事情,因为他们别无选择。 C ++相信你知道什么时候最适合创建一个类:当你有状态时。
但是,我不认为你有充分的理由使用任何C库函数来读取文件。您没有理由不编写使用C ++标准库的过程代码。只需使用文件流(例如std::istream)即可读取值。
答案 1 :(得分:1)
由于问题被标记为c ++,我建议检查c++ streams的主题。我不明白为什么你要写文件阅读相关的类。
答案 2 :(得分:0)
这项任务非常小,很难说“最佳实践”是否适用。
现在使用scanf
或std::cin
或任何方便的方法使其工作,如果您发现自己需要更多功能,那么就开始设计更强大的功能。
在你知道自己需要这些额外功能之前,不要浪费大量时间来过度设计。