Extended Sd-factory example per issue #310

This commit is contained in:
hsutter 2015-12-02 12:42:04 -08:00
parent 7e81a238e0
commit b16ef02365

View File

@ -13484,9 +13484,19 @@ Here is an example of the last option:
return p;
}
};
class D : public B { // some derived class
public:
void f() override { /* ... */ };
class D : public B { /* "¦ */ }; // some derived class
protected:
D() {}
template<class T>
friend shared_ptr<T> B::Create();
};
shared_ptr<D> p = D::Create<D>(); // creating a D object
This design requires the following discipline: