如何定义?
定义两个类,形成了递归的定义,大致如下
class A
{
...
B test;
};
class B
{
...
A test1;
}
该如何写?
问题点数:20、回复次数:8Top
1 楼maquanjun(俺是菜鸟俺怕谁)回复于 2001-09-23 18:32:50 得分 5
关注!!!!!!!!
我提一个方法,请大家考虑一下可不可行
class A:public c
{
...
c *test;
};
class B:public c
{
...
c *test1;
}
用的时候,再用指针的强制转换,不好意思,我知道这个办法不怎么样,我是用惯了bcb,常用这种方法
请高手给点建议
Top
2 楼gigix(透明)回复于 2001-09-23 19:21:45 得分 5
同意楼上。或者这样:
// a.h
#include "B.h"
class A
{
B test;
}
// b.h
class A
class B
{
A & test;
}
我用惯VC,这是我常用的方法。Top
3 楼lk68(使用Tcl/Tk吧)回复于 2001-09-23 19:24:25 得分 0
class B; //告诉使用B定义
class A {
B test;
};
class B {
A test;
}
即可。Top
4 楼arthur_0()回复于 2001-09-23 20:27:17 得分 0
lk68(使用Tcl/Tk吧)
不知使用的是什么编译器,这种方法不行
Top
5 楼sevecol(sevecol.blogone.net)回复于 2001-09-23 20:45:32 得分 5
class B;
class A
{
B* b;
//其他的数据
};
class B
{
A a;
//其他的数据
};Top
6 楼arthur_0()回复于 2001-09-23 21:00:01 得分 5
在同一个文件中
如下定义可以通过编译
class B;
class A
{
B * test;//这里一定要是指针或者引用,lk68(使用Tcl/Tk吧)就错在这里
};
class B
{
A test;
};
还有什么好方法,请高手指教Top
7 楼arthur_0()回复于 2001-09-23 21:03:11 得分 0
不好意思,由于网页没有更新 ,所以sevecol()的帖子没有看到Top
8 楼trustme(我爱编程)回复于 2001-09-23 21:04:59 得分 0
arthur_0() 的法子不错Top




