C++中仅包含main方法的类是否需要单独编写.h头文件?
结论
完全不需要单独创建C.h头文件,仅编写C.cc实现文件就足够。
原因说明
头文件的核心作用是对外暴露需要跨编译单元复用的接口/定义:比如类声明、函数声明、宏定义、常量定义等,只有当其他.cc文件需要引用你这个类的相关内容时,才需要提供对应的头文件。
你当前场景下的C类仅用来封装main方法,没有任何其他成员,也不存在其他编译单元需要引用C类的场景:
- 程序入口
main函数本身不需要被任何其他代码调用 - C类没有需要对外暴露的成员,没有任何
.cc会需要include "C.h"
单独创建C.h没有任何实际作用,只会产生冗余的空文件。
参考代码示例
你可以直接按照下面的结构写C.cc即可:
// C.cc 示例内容 #include "A.h" #include "B.h" // 定义仅用于封装main逻辑的C类 class C { public: static int run() { // 这里写你的业务逻辑,调用A、B类的能力 A a; B b; a.do_something(); b.do_something(); return 0; } }; // 全局程序入口 int main(int argc, char* argv[]) { return C::run(); }
注意:如果后续迭代中你给C类新增了需要对外暴露的成员、或者其他
.cc文件需要引用C类的定义,到时再新增C.h头文件也完全来得及。
内容的提问来源于stack exchange,提问作者FrankCast
相关产品推荐
相关产品推荐

