两个类之见怎样才能"互相include#"?

wwtmw 2002-12-07 05:21:04
在a.h

#include "b.h"
class A
{
...

private: B *b;
}

在b.h
#include "a.h"
class B
{
...

private: A a;
}

在main.cpp

#include "a.h"
#include "b.h"

main...


为什么会出现错误?如果一定要做到 A a在B里面;B*b在A里面,

怎样才能解决??

谢谢!!

...全文
34 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wwtmw 2002-12-27
  • 打赏
  • 举报
回复
谢谢
回复人: zhi_chong(稚虫
zhi_chong 2002-12-08
  • 打赏
  • 举报
回复
在a.h里面声明class b;或者在b.h里面声明class a;
就可以了
wwtmw 2002-12-08
  • 打赏
  • 举报
回复
能具体说说怎样 "用条件编译"吗, bobob(bobob) ( ??
wwtmw 2002-12-08
  • 打赏
  • 举报
回复
Good,

注明一点,如果是在a里面加class b的话,就不要再include "b.h"了。
应该:
//include# "b.h"

class B;
class A;
{

B b;
}

bobob 2002-12-08
  • 打赏
  • 举报
回复
用条件编译,你想把哪个加到哪个都可以!!
wwtmw 2002-12-07
  • 打赏
  • 举报
回复
在a.h文件中include<a.cpp>???

b.h在哪里??
baryjim 2002-12-07
  • 打赏
  • 举报
回复
main文件中只需要include<a.h>
在a.h文件中include<a.cpp>

最好用
#ifndef _a_h_
#define _a_h_
class a
{}

#endif
wwtmw 2002-12-07
  • 打赏
  • 举报
回复
在a.h

#include "b.h"
class A
{
...

private: B *b;
}

在b.h
#include "a.h"
class B
{
...

private: A a;
}

在main.cpp

#include "a.h"
#include "b.h"

main...


为什么会出现错误?如果一定要做到 A a在B里面;B*b在A里面,

怎样才能解决??

谢谢!!

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧