It turns out that static variables in C++ classes are actually pretty cool.
If you declare a static variable at class level (i.e. inside the class declaration), then you are creating a variable that will
a) be accessible to all objects created from that class, and
b) be available even before you have created a single instance of that class.
Essentially, every object you create sees the same static variable, so anything that one object does to that variable (such as increment the value), all the other objects can also see.
Super useful, eh?