类的相互引用解决办法
类的相互引用现在遇到个问题,请教下大家:我现在需要一个比较复杂的类(命名为Node)的多个对象;简单起见,我
类的相互引用
现在遇到个问题,请教下大家:
我现在需要一个比较复杂的类(命名为Node)的多个对象;
简单起见,我把Node中的部分成员,如A,B也用一个单独的类来进行说明;
这样就有
C/C++ codeclass Node{ A *pa; B *pb;}
但是在A,B中间需要指一个Node指针(因为程序中有多个Node的对象),以保证这是同一个Node的A和B
C/C++ codeclass A{ Node *p;}class B{ Node *p;}
现在我需要把A中的某一个参数(比如x)传递给同一个Node下的B,就需要
pa->p->pb->Receive(x) //这段不准确的代码只是说明意思
向请问大家下,这样相互引用的类正确吗,能这样做吗?这样做的话需要注意些什么,感谢大家的支持。
[解决办法]当然可以这样做
[解决办法]这样可以是可以,但是多麻烦啊!
为什么不只维护Node类的指针,他应该提供修改A和B的方法,毕竟A和B是他的成员。
[解决办法]A和B之间的通讯,没必要通过类里的node指针
node类里,已经有A和B的对象了,让他们直接通讯