我正在构建一个应该使用1.h中的一个类的应用程序2.h它的定义如下:
<classname> *p;
现在我可以在2.cpp中使用p。但我也想在3.cpp中使用它。我无法在3.cpp中包含2.h。有没有办法让它在3.cpp中可见?
感谢您的帮助。
答案 0 :(得分:0)
使用某些代码解决问题的更具描述性的示例很有价值。
一般尝试执行以下操作:
您无法正确声明该类是否具有另一个类的实例,或者它是否派生自该类。
答案 1 :(得分:0)
您需要提供更多信息,但我想我明白了 您尝试在已定义的标头中使用类。另一个标头,但由于某种原因,您无法将其定义的标头包含在您正在处理的标头中。解决方案是创建一个“临时”定义而不是包含。
例如: 你需要1.h中的myClassA,但它是在2.h中定义的,有些错误不允许你将2.h包含在1.h中来解决它。 写:
类myClassA;
在1.h之上,所以你可以引用它,但没有实现(因为它是在2.cpp中实现的)
答案 2 :(得分:0)
一个简单的规则是一个类,一个头文件。
假设:
A.h:
class A
{
};
B.h:
#include "A.h"
class B
{
A obj;
};
C.h:
#include "A.h"
class C
{
A obj;
};
我希望这能回答这个问题。否则,请使用更多详细信息和您要完成的示例编辑您的问题。