首页 > 解决方案 > 一个头文件中的类名使用,不包括类定义头文件

问题描述

是否可以在 1.h 文件中使用 A 类而不在其中包含 2.h 文件(如底层代码段)?

文件 1.h

class A;
typedef boost::shared_ptr<A> something;

文件 2.h

class A{
...
}

标签: c++class

解决方案


有可能的。但是您必须在每个 C/C++ 文件中同时包含 2.h 和 1.h。编译器实质上使用每个#include 复制.h 文件的内容。然而,这并不是一种非常普遍的做法。


推荐阅读