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)));
これは少し醜いです。これを自動化するためのより良い方法または方法があるかどうか知りたいですか?