我在不同的文件中有几个类。我想在main()函数中使用简单的C从文件读取机制--只从两个文件中读取两个整数,仅此而已。
现在,我应该创建一个单独的File类并从那里处理它吗?
我应该在单独的"file.cpp"文件中创建标准函数吗?
我应该直接用main()写这3-5行代码吗?
发布于 2013-04-14 06:46:55
我想您的意思是将OOP与过程化编程混合在一起。如果是这样的话,很好。C++的设计就是为了同时利用这两者。
如果你想写一个没有任何状态的函数,不要让它成为一个类的成员。只需编写一个名为read_values_from_file的免费函数或任何您想要的。确定代码中的各个职责并将它们分解到函数中绝对是一个很好的实践。
你应该把它放在哪个文件中取决于你是否会重用它。如果您只打算在main的开头使用它,那么就把它放在main.cpp中。不要仅仅为了它而给它自己的文件。否则,如果要在多个转换单元中使用相同的函数,将其声明放在头文件中并将其定义放在实现文件中可能会很有用。
不管你把它放在哪里,都不要让这个函数成为一个类的成员。这就是Java程序员所做的,因为他们别无选择。C++相信您知道什么时候最适合创建一个类:当您有状态时。
但是,我不认为您有很好的理由使用任何C库函数来读取文件。没有理由不能编写使用C++标准库的过程代码。只需使用文件流,如std::istream,即可读取值。
发布于 2013-04-14 06:39:13
由于问题被标记为c++,我建议检查c++ streams的主题。我不明白为什么你要写与文件读取相关的类。
发布于 2013-04-14 06:46:52
这项任务如此之小,很难说“最佳实践”是否适用。
现在让它工作,使用scanf或std::cin或任何方便的东西,如果你发现自己以后需要更多的功能,那么开始设计更健壮的东西。
不要浪费大量的时间过度设计一些简单的东西,直到你知道你将需要这些额外的功能。
https://stackoverflow.com/questions/15993697
复制相似问题