首页 > 解决方案 > 在 .cpp 文件中定义类是好的 C++ 吗?

问题描述

我是 C++ 的初学者。我有一个关于 C++ 设计的问题。

我的文件包含A, B, C, D,E类定义。类A包含其他应用程序使用的 API。我已经在一个.h文件中定义了这个。Classes B, C, D&E通过继承某个库提供的抽象类来定义具体类。这些定义不被任何外部应用程序使用,而仅由 class 使用A

我在网上看到所有的类定义都在一个.h文件中提供,函数实现在一个.cpp文件中。我的问题是,即使任何人都没有在外部使用 class BCD&E定义,我应该在.h文件中定义它们吗?如果我确实在那里定义了它们,我不能将它们暴露给其他应用程序,对吧?

标签: c++

解决方案


如果一个类只在一个模块中本地使用,您可以在 .cpp 文件中声明它。这实际上是一种很好的做法;不要暴露超过必要的部分。

如果您需要在标头中定义一个类(或函数等)(例如,在几个相关的 .cpp 文件之间共享它)但又不想公开公开它,您可以有一个单独的,私有头文件,只包含在相关地方,不公开。这可以通过将“private”附加到头文件名来暗示。


推荐阅读