mirror of
https://github.com/isocpp/CppCoreGuidelines.git
synced 2024-03-22 13:30:58 +08:00
Extended Sd-factory example per issue #310
This commit is contained in:
parent
7e81a238e0
commit
b16ef02365
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue
Block a user