//try1.h
class Singleton
{
public:
static Singleton& instance();
void show_state();
protected:
Singleton();
private:
static Singleton* _instance;
int state;
};
Singleton* Singleton::_instance = NULL;
Singleton& Singleton::instance()
{
if(!_instance) // Race condition exists here
_instance = new Singleton;
return *_instance;
}