also should the functions used to set and retreive the value of the variable (the one i want to make global) be static public member functions of this class, with the variable be a private static member?
I am not sure about weaknessforcats but I was initially answering from a C point of view. If you are using a class then obviously you are using C++.
Between the 2 of us weaknessforcats is definitely stronger on C++ theory than me, however I will say this (and may be he will correct me later).
I would generally avoid using static data for function members in a class except in the case that there is a definite possibility that there will be multiple instances of the class and those instances require some shared data (i.e. all instances using the same value for a variable).
However you sound like what you need is actually a class that you are only going to instantiate once. There is a design pattern for this called the Singleton and weaknessforcats has written an excellent tutorial on this design pattern
here. Basically in the singleton design pattern the class itself protects itself against being instantiated more than once and provides an interface that always returns the 1 instantiation of the class.
Once you have a class that implements the singleton design pattern then you add data and function members to it in the normal way. For your purposes these members should not be static but the data members should be private or protected (so they are only accessible with the class or the class and classes that derive from it) and the functions that access or operate on the data should be public (or else you wont be able to call them).