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使う人がいるみたいなんですが、それで問題ないですかね? なんか注意点とかありますか?もしくは他にいい方法ありますでしょうか?