0

我在不同的文件中有几个类。我想在main()函数中使用从文件机制读取的简单 C - 只需从两个文件中读取两个整数,仅此而已。

现在,我应该创建一个单独的 File 类并从那里处理它吗?

"file.cpp"我应该在单独的文件中创建标准函数吗?

我应该直接写这 3-5 行代码main()吗?

4

3 回答 3

2

我认为您的意思是您将 OOP 与过程编程混合在一起。如果是这样,很好。C++ 旨在同时利用这两者。

如果你想写一个没有任何状态的函数,不要让它成为一个类的成员。只需编写一个名为read_values_from_file或任何您想要的免费函数。确定代码中的个人职责并将其分解为函数绝对是一种好习惯。

你应该把它放在哪个文件中取决于你是否会重用它。如果您只打算在开头使用它main,只需将其放入main.cpp. 不要仅仅为了它而给它自己的文件。否则,如果您想在多个翻译单元中使用相同的函数,将其声明放在头文件中并将其定义放在实现文件中可能会很有用。

不管你把它放在哪里,都不要让这个函数成为一个类的成员。这就是 Java 程序员所做的,因为他们别无选择。C++ 相信你知道什么时候最适合创建一个类:什么时候有状态。

但是,我认为您没有充分的理由使用任何 C 库函数从文件中读取。没有理由不能编写使用 C++ 标准库的过程代码。只需使用文件流(例如std::istream)来读取值。

于 2013-04-13T22:46:55.337 回答
1

Since the question is tagged as c++, I suggest checking the topic of c++ streams. I don't see why would you have to write file reading related classes.

于 2013-04-13T22:39:13.130 回答
0

这项任务是如此之小,以至于很难说“最佳实践”是否适用。

现在让它工作,使用scanforstd::cin或任何方便的东西,如果你以后发现自己需要更多功能,然后开始设计更强大的东西。

不要浪费大量时间过度设计一些简单的东西,直到你知道你将需要这些额外的功能。

于 2013-04-13T22:46:52.147 回答