is added to the Example.cpp file. Can anyone explain this to me please? I'm not even sure if its related to the static or the vector or the fact that its self-referential.
The line in the header file doesn't actually create the object, it just says that such a vector will be created. The line in the source file is the actual construction/creation of the vector.
No, it's static so only one exists for all the classes; you only want to create one ever. Creating it in the constructor wouldn't make sense as that would try to create a vector every time you made an object.