Updateってやつの記述がないけど、Completeでいいのかな。
問題は自分を管理しているvectorをどうやって知るか、
どのタイミングで知るべきかってことだよね。
CのインスタンスよりもBaseListの寿命が長いことが確実なら、
std::vector<Base *> *m_pBaseList;
をCに追加してコンストラクタで渡すのが手っ取り早いと思うけど。