Bar
から派生したオブジェクトを格納するクラスがありますBarItem
:
#include <list>
#include <memory>
class Bar {
public:
typedef std::shared_ptr<BarItem> item_ptr;
void add_item(item_ptr item) {
items_.push_back(item);
}
private:
std::list<item_ptr> items_;
};
Note
のサブクラスである別のクラスがありBarItem
ます。Note
現在、私が行っているオブジェクトのコピーを追加するには、次のようにします。
Bar my_bar;
Note my_note;
my_bar.add_item(Bar::item_ptr(new Note(my_note)));
これは少し醜いです。これを自動化するためのより良い方法または方法があるかどうか知りたいですか?