const virtual function: Shape* get_copy (void)Creates a copy of the
Pathusingcreate_new<Path>(), which returns a pointer toPath.get_copy()then casts this pointer to a pointer toShapeand returns it.This function is used when copying
Picturesand inSolid::output(), where objects of types derived fromShapemust be handled in the same way, without their actual types being known.