Re: C++
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On Mon, 24 Feb 2003 10:20:45 -0600, Thomas Dodd wrote:
> 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.
Since only pointers to A and B are involved, a forward declaration
class A;
in front of class B and
class B;
in front of class A should suffice.
- --
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)
iD8DBQE+WlSa0iMVcrivHFQRAq/CAJ9qO0tcn/7aASaBfNq0pHS90MaDtwCeK9L8
cqMZBjr4PmuD/eYlzLZPEx4=
=47QX
-----END PGP SIGNATURE-----
_______________________________________________
Redhat-devel-list mailing list
Redhat-devel-list@redhat.com
https://listman.redhat.com/mailman/listinfo/redhat-devel-list
[Kernel Newbies]
[Red Hat General]
[Fedora]
[Red Hat Install]
[Linux Kernel Development]
[Yosemite News]