class Object { /* */ };
и несколько производных:
class Derived1 : public Object { /* */ };
class Derived2 : public Object { /* */ };
И у меня есть функция, которая создает производные объекты и возвращает указатель на Object
;
Object *make()
{
return new Derived1();
}
Итак, таким образом я должен обернуть возвращаемый объект умным указателем, но какой тип возвращаемого значения использовать?
TYPE? make()
{
return boost::shared_ptr<Derived1>(new Derived1());
}