その逆参照的な設計方法が正しいかどうかは置いといて

// a.h
class A ;

class B{
public:
B(A *a):m_a(a){
}
void func() ;
A *m_a ;
} ;

class A{
public:
A(){
m_b = new B(this) ;
}
B *m_b ;
int test ;
} ;

/**************************************************/

//a.cpp
#include "a.h"

void B::func()
{
m_a->test = 0 ;
}