For the past few days, I've been taking my SDL program into a more OOP structure. Right now I have two classes. The Base Class is called Functions and is used for Routine/Misc functions. The Sub Class is called Physics where I implement physics for my game. I've tried to implement a Fall function in Physics. It doesn't work in the Physics class, but when I put it in the Functions class it does work.
My Functions Class:
class Functions
{
public:
bool Running;
Functions();
Draw();
Input();
Movement();
FreeMem();
It is unclear what your object model is supposed to represent, as neither "Functions" nor "Physics" are objects in the domain of games. Using classes and inheritance are not what makes a project object oriented.
If you tell us more about the game, we can help you design a better model to fit it.
As for your error (assuming it compiles and links): I guess you are doing SDL initialisation in the constructor of the Functions class. However, the constructor is called twice, once when you instantiate "FInst", and again when you instantiate "GInst". This will cause you some trouble.
Your Functions class probably does too much. Keep the SDL initialisation inside main() for the moment.