【初心者歓迎】C/C++室 Ver.35【環境依存OK】
■ このスレッドは過去ログ倉庫に格納されています
0394デフォルトの名無しさん
2007/03/10(土) 10:26:51クラスBの中でクラスAのオブジェクトの配列を管理したい。
でもクラスAは、A2やA3などにも派生させてて、それも配列に入れたい、って場合。
class A {
...
};
class A2 : public A{
...
}
class A3 : public A{
...
}
class B {
vector<A> a1_vector;
}
ってしたいんだが、これだとa1_vectorにはA2,A3が入らないですよね?
ってなると・・
class B {
vector<A*> a1_vector;
}
で、new A, new A2とかでオブジェクト作って、そのポインタをa1_vectorにpushすることになると思うんですが、これだとクラスBのインスタンスが破棄されたときに、a1_vectorで管理されている各オブジェクトって廃棄されないですよね?
で、google先生とかに聞くと、share_ptr使う人がいるみたいなんですが、それで問題ないですかね?
なんか注意点とかありますか?もしくは他にいい方法ありますでしょうか?
■ このスレッドは過去ログ倉庫に格納されています