I had a question for a C++ programmer. Thought I might find one here :)


I have 2 classes that need to reference each other.


"headerA.h"
class A{
public:
  int x;
  int y;
  B *left;
  B *right;
}

"headerB.h"
class B{
public:
  int a;
  int b;
  A *parent;
  char foo();
}

Give that top is of type A, in top.left.foo() I need to modify top.right.a

Any ideas? I've tried passing a A* in the constructor for B, but the compiler doesn't
realize that A is a class when I try to compile, and complains about no type listed.


I seams to be a circular reference since A needs B and B needs A. This cannot be that
unusual, and has probably been solved before, I just don't know how.


Right now moy only though is to make parent a void* and the cast it to a A* in the
implementation of B. That removes all type checking though and I'd rather not abuse
void pointers like that.


-Thomas




-- Psyche-list mailing list [EMAIL PROTECTED] https://listman.redhat.com/mailman/listinfo/psyche-list

Reply via email to