Node:Dynamic Allocation of Shapes, Next:System Information, Previous:Global Constants and Variables, Up:Top
template <class C> C* create_new (const C* arg)
|
Template function |
template <class C> C* create_new (const C& arg)
|
Template function |
These functions dynamically allocate an object derived from
Shape on the free store,
returning a pointer to the type of the Shape and setting
on_free_store to true .
If a non-zero pointer or a reference is passed to It is not possible to instantiate more than one specialization of
Point* p = create_new<Point>(0); p->show("*p:"); -| *p: (0, 0, 0) Color c(.3, .5, .25); Color* d = create_new<Color>(c); d->show("*d:"); -| *d: name == use_name == 0 red_part == 0.3 green_part == 0.5 blue_part == 0.25 Point a0(3, 2.5, 6); Point a1(10, 11, 14); Path q(a0, a1); Path* r = create_new<Path>(&q); r->show("*r:"); -| *r: points.size() == 2 connectors.size() == 1 (3, 2.5, 6) -- (10, 11, 14); Specializations of this template function are currently declared for
|