>>616
ありがとうございます
特にfooがbarでしか用いられないような場合でも、わざわざインナークラス化する必要はないのでしょうか?

それと、答えてもらってなんなのですが、よく見直したら私の悩んでいることと先程の質問が少しずれていました……
すみませんが質問を訂正させていただきます

class bar;
class foo{
...
public:
void function(bar &b);
};
class bar{
foo f;
...
pubilc:
void dosome(){f.function(*this);}
};

このような場合、foo、barともに互いの存在を前提にしているわけですが、
やはり問題無いのでしょうか?