c++ - 包含已知已包含的文件

标签 c++ c header include convention

当包含一个您知道已被另一个包含包含的文件时,惯例是什么?

示例: Base 类在“base.h”中声明,并且有一些子类。 Base 有一个虚拟方法 foo(Bar& bar),因此包含“bar.h”。从正确约定的角度来看,考虑到子类包含“base.h”,其中包含“bar.h”,我们是否也应该在子类中包含“bar.h”?

最佳答案

由于函数的声明只需要声明参数,因此您需要包含相应的 header 。对于已知的基类或非私有(private)数据成员类型,需要包含定义。由于其他所有内容要么只需要声明,要么是实现细节,因此您不应依赖包含的间接 header 。

关于c++ - 包含已知已包含的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27208792/

相关文章:

c - 为什么我在使用 fprintf 时会出现不一致的行为?

c - 为什么 argc 和 argv 的地址相差 12 个字节?

c++ - 错误 : expected ')' before '&' token

C++:#include 文件搜索?

android - C++/Cocos2d-x : how to add inapp billing (inapp purchase) in Cocos2d-x Android project?

c++ - 为什么 GetFullPathName 返回工作目录?

C - fork 和 sleep 函数出现意外结果

html - 如何更改进度条的位置? (CSS)

c++ - 使用 Qt 读取 .odf 文件

c++ - 从 WindowsAPI 调用 NetLocalGroupAddMembers 时,安全 ID 结构无效错误