An alternative to using the static keyword to limit an item's scope to a file is to place the item within an anonymous namespace.
Instead of
static Point p;
static int size(List& l);
Use a namespace to get the same result:
namespace
{
Point p;
int size(List& l);
}