我正在构建一个应用程序,它应该使用从1.h到2.h的一个类,它的定义如下:
<classname> *p;现在我可以在2.cpp中使用p了。但我也想在3.cpp中使用它。我不能在3.cpp中包含2.h。有没有办法让它在3.cpp中可见?
谢谢你的帮助。
发布于 2011-03-04 20:32:14
使用一些代码更具描述性的问题示例将是有价值的。
一般情况下,尝试执行以下操作:
您不能主动声明该类是否具有另一个类的实例,或者它是否从另一个类派生。
发布于 2011-03-04 21:36:25
你需要提供更多的信息,但我想我知道你试图在定义的头中使用一个类。另一个头,但由于某些原因,你不能将它定义到你正在处理的头中。解决方案是创建一个“临时”定义,而不是一个include。
myClassA类;
在1.h之上,所以你可以引用它,但是没有实现(因为它是在2.cpp中实现的)
发布于 2011-03-05 03:33:07
一个简单的规则是一个类,一个头文件。
给定:
A.h:
class A
{
};
B.h:
#include "A.h"
class B
{
A obj;
};
C.h:
#include "A.h"
class C
{
A obj;
};我希望这能回答这个问题。
https://stackoverflow.com/questions/5193622
复制相似问题