
Untitled
By: a guest on
May 7th, 2012 | syntax:
None | size: 1.99 KB | hits: 9 | expires: Never
Singleton Class in C
#include<iostream>
using namespace std;
class singleton
{
int value;
static singleton *instance;
protected:
singleton()
{
value=0;
}
public:
static void initialize()
{
if(instance==NULL)
singleton();
else
cout<<"An instance of singleton already exist...";
}
static singleton& getInstance()
{
return *instance;
}
int getValue()
{
return value;
}
};
void main()
{
singleton::initialize();
}
singleton();
instance = new singleton();
singleton *singleton::instance = 0;
#include <iostream>
class singleton {
protected:
static singleton *instance;
singleton() { }
public:
static singleton *getInstance() {
if (instance == 0)
instance = new singleton();
return instance;
}
};
singleton *singleton::instance = 0;
int main() {
singleton *s1 = singleton::getInstance();
singleton *s2 = singleton::getInstance();
std::cout << s1 << 'n';
std::cout << s2 << 'n';
return 0;
}
0xbc0358
0xbc0358
#include <iostream>
class singleton {
protected:
static singleton *instance;
singleton() { }
public:
static singleton& getInstance() {
if (instance == 0)
instance = new singleton();
return *instance;
}
};
singleton *singleton::instance = 0;
int main() {
singleton &s1 = singleton::getInstance();
singleton &s2 = singleton::getInstance();
std::cout << &s1 << 'n';
std::cout << &s2 << 'n';
return 0;
}
singleton* singleton::instance = NULL;
static singleton* getInstance()
{
if(instance==NULL)
instance = new singleton();
return instance;
}
singleton *singleton::instance = 0; // use 'nullptr' if your compiler support it
static singleton& getInstance()
{
if (instance == 0)
instance = new singleton;
return *instance;
}