多个文件和面向对象的编程

时间:2011-10-19 12:26:17

标签: c++ oop class class-design

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

4 个答案:

答案 0 :(得分:3)

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

并且不要忽视为人类保持组织的价值!软件可以包含数千个不同的对象,功能和其他部分。保持尽可能简单(但不简单)!

答案 1 :(得分:1)

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

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

据我所知,将所有文件连接在一起是没有优势的

答案 2 :(得分:0)

在C ++中它确实无关紧要。在某些语言中,例如Java,编译器要求每个类都在一个单独的文件中,但只要您确保不同的文件相互引用,就没有任何理由。

答案 3 :(得分:0)

完全同意其他答案,我想补充一下:

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

如果实现很大,甚至可以在多个文件中断开类实现。

另一方面,有时候有理由将几个类放在一个文件中,例如当这些类很小和/或非常高度相关时。例如, FooObject 及其 FooAllocator ,或 FooObject 及其仅由他使用的小型 FooSubObject