首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >混合使用OOP和结构化代码

混合使用OOP和结构化代码
EN

Stack Overflow用户
提问于 2013-04-14 06:36:14
回答 3查看 178关注 0票数 0

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

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

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

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-04-14 06:46:55

我想您的意思是将OOP与过程化编程混合在一起。如果是这样的话,很好。C++的设计就是为了同时利用这两者。

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

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

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

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

票数 2
EN

Stack Overflow用户

发布于 2013-04-14 06:39:13

由于问题被标记为c++,我建议检查c++ streams的主题。我不明白为什么你要写与文件读取相关的类。

票数 1
EN

Stack Overflow用户

发布于 2013-04-14 06:46:52

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

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

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15993697

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档