fooクラスをhogeクラスのメンバ(コンポジション)として使いたい時、

class hoge
{
private:
 int i;
 int j;
 foo myfoo(i,j);//エラー
public:
 hoge();
};

hoge::hoge()
{
 i=100;
 j=200;
}

のように、hogeオブジェクト生成時にそのメンバ変数を引数として
fooオブジェクトを作成することはできないのでしょうか。
上のような書き方ではエラーでコンパイルできませんでした。
引数を取らずにfoo myfoo();と定義すれば
うまくいくようなのですが、これでは別の場所でhogeのi,j値を
渡さないといけないので面倒くさいしなんかかっこ悪いです。
ですがそうしないといけないものなのでしょうか。