The Singleton pattern achieves its ability to be accessible anywhere easily by having a special function that we use to get the Singleton object. When this function is called, we will check whether that object has been created yet. If it has, then we will simple return a reference to the object. If not, we will create it, and then return a reference to the newly created object.
Now, in addition to having this way to access it, we also want to block off our user from being able to create them, so we will need to define our class constructors to be private.
Now that we have an understanding of some implementations of the Singleton, we have one other version, which is what we actually used within ...