设计了一个业务类,需要依赖包含其它头文件。业务类是在.h文件中包含依赖头文件,还是在.cpp中包含依赖头文件

来源:8-14 头文件重复包含问题

慕少7118645

2021-04-22

设计了一个业务类class hello,需要用到第三方功能,第三方功能的头文件为other.h

hello.h文件
#include “other.h” //方式1包含
class hello
{
hello();
}

hello.cpp文件
#include "hello.h"
#include “other.h” //方式2包含
hello::hello(){}

上述两种方式的包含,一般用哪一种?有什么需要注意的。

写回答

1回答

quickzhao

2021-04-23

一个基本的原则就是在类的头文件中最好不要包含其他头文件,因为这样会使类之间的文件包含关系变得复杂化。有时在工程中,一个类往往需要用到很多已有的类库及函数库,这时的做法是把那些经常用到的头文件加入到一个公共的头文件中,但要注意的是一些头文件也有依赖关系,否则就会出错。另外,为了防止重复包含,C++中经常会使用#ifndef,#defineh和#endifh宏来防止头文件重复包含。

1
0

重学C++ ,重构你的C++知识体系

一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维

3884 学习 · 1103 问题

查看课程