поделитесь опытом и соображениями применительно к плюсам. Тоесть прямее реализован class A или class B:
class A
{
void M1(int x){ printf("%d\n", x); }
void M2(){ M1(2); }
}
class B
{
int x;
void M1(){ printf("%d\n", x); }
void M2(){ x = 2; M1(); }
}