读书人

两个类相互调用如何避免?

发布时间: 2012-04-23 13:17:38 作者: rapoo

两个类相互调用如何处理??
在java中可以两个类之间相互调用.我在改写成c++程序时遇到了问题.

#ifdef HAVE_CONFIG_H
#include <config.h>
#endif

#include <iostream>
#include <cstdlib>

using namespace std;
class a
{
b bb;
};
class b
{
a aa;
};
int main(int argc, char *argv[])
{
cout < < "Hello, world! " < < endl;
return EXIT_SUCCESS;
}
编译出错
cd '/home/worker/fdsafd/debug ' && WANT_AUTOCONF_2_5= "1 " WANT_AUTOMAKE_1_6= "1 " gmake -k
正在编译 fdsafd.cpp (g++)
/home/worker/fdsafd/src/fdsafd.cpp:32: error: `b ' does not name a type
正在编译 a.cpp (g++)
/home/worker/fdsafd/src/b.h:33: error: `a ' does not name a type
*** 退出状态:2 ***
这该怎么办呢? 谢谢大家

[解决办法]
class b;
class a
{
b* bb;
};
class b
{
a aa;
};
这样即可,但前面的成员必须为指针,.

读书人网 >C++

热点推荐