Is this the right approach to OOP?
There is no single 'right approach', but it's looking fine.
What exactly is a singleton?
A class that only ever has one copy of itself.
How would you share info across classes?
A few different ways:
- public static functions (or member variables)
- return values from functions called
- (the least OOP way) public variables
It's all about having a reference to the class somewhere in the other class. After you've got that down, the rest is easy.