class Bar
{
Baz baz;
};

class Foo
{
Bar bar;
};

Foo f1, f2;

この時に
f1, f1.bar, f1.bar.bazはグローバル変数g1にアクセス可能
f2, f2.bar, f2.barbazはグローバル変数g2にアクセス可能
と言った感じでFooのオブジェクトひとつに対してその下位のオブジェクトならばアクセス可能な共有変数を持たせたいのですが
なにかいい実装手段はありますか?