// C++のクラスのポインタの相互参照 /* gcc -g pointer.cpp -o pointer */ #includeclass A; // Aを定義しなくてもいいから、宣言だけしておく。 class B{ public: A* p_A; int int_b; }; class A{ // Aをここで詳しく記載する public: B* p_B; int int_a; }; int main() { A a; B b; a.int_a = 3; b.int_b = 4; a.p_B = &b; b.p_A = &a; printf("%d", a.p_B->int_b); // 4が出力される printf("%d", b.p_A->int_a); // 3が出力される return 0; }