多文件和面向对象编程

Multiple files and Object Oriented Programming

本文关键字:面向对象编程 文件      更新时间:2023-10-16

在我的应用程序中,我使用多个文件,每个文件包含一个类,在一个文件中收集所有c++文件(所有类的实现)并在另一个文件中收集所有头文件是一个好主意吗?或者这不是很好,因为某些原因,但代码组织?

将声明和定义组织成独立但相关的翻译单元可以帮助减少编译时间。

也不要忽视保持事物有序对人类的价值!软件可以由成千上万个不同的对象、功能和其他部分组成。让它尽可能简单(但不要更简单)!

如果您将类的声明和定义保存在相应的文件中,则只需在更改这些类时重新编译它们。此外,一个类中的更改只需要将更改的类与依赖它的类进行重链接。因此,它减少了编译时间。

它也使调试更容易,因为编译错误可以追溯到一个文件。

就我所知

将所有文件合并在一个文件中没有任何好处

在c++中,这真的不那么重要。在某些语言中,如Java,编译器要求每个类都在一个单独的文件中,但只要确保不同的文件相互引用,就没有任何理由这样做。

完全同意其他人的答案,我想补充我的观点:

分割成几个文件也使使用编辑器时更容易。然后可以使用几个选项卡。(想象一下,如果你的浏览器只在一个窗口中一个接一个地显示你所有的页面!)

如果实现很大,甚至可以将一个类的实现分解到几个文件中。

另一方面,有时有理由将几个类放在一个文件中,例如当这些类很小且/或非常相关时。例如一个FooObject和它的FooAllocator,或者一个FooObject和它的小FooSubObject只被他使用。