AクラスのaにBクラスからアクセスしたいのですが、うまくいきません。
どうしたらいいでしょうか。。

#include <stdio.h>

class A
{
  public:
    A(int);
  private:
    int a;
  private:
    class B
    {
      public:
        B() { printf("constructer B\n"); }
        void some_func(void){ printf("a: %d\n", a); }
    };
};

A::A(int x)
{
  a = x;
  B* b = new B();
  b->some_func();
}

int main(void)
{
  A a(10);
  return 0;
}