Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on May 7th, 2012  |  syntax: None  |  size: 1.99 KB  |  hits: 9  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Singleton Class in C  
  2. #include<iostream>
  3. using namespace std;
  4.  
  5. class singleton
  6. {
  7.     int value;
  8.     static singleton *instance;
  9. protected:
  10.     singleton()
  11.     {
  12.         value=0;
  13.     }
  14. public:
  15.     static void initialize()
  16.     {
  17.         if(instance==NULL)
  18.             singleton();
  19.         else
  20.             cout<<"An instance of singleton already exist...";
  21.     }
  22.     static singleton& getInstance()
  23.     {
  24.         return *instance;
  25.     }
  26.     int getValue()
  27.     {
  28.         return value;
  29.     }
  30.  
  31. };
  32.  
  33. void main()
  34. {
  35.     singleton::initialize();
  36. }
  37.        
  38. singleton();
  39.        
  40. instance = new singleton();
  41.        
  42. singleton *singleton::instance = 0;
  43.        
  44. #include <iostream>
  45.  
  46. class singleton {
  47.     protected:
  48.         static singleton *instance;
  49.         singleton() { }
  50.     public:
  51.         static singleton *getInstance() {
  52.             if (instance == 0)
  53.                 instance = new singleton();
  54.             return instance;
  55.         }
  56. };
  57. singleton *singleton::instance = 0;
  58.  
  59. int main() {
  60.     singleton *s1 = singleton::getInstance();
  61.     singleton *s2 = singleton::getInstance();
  62.     std::cout << s1 << 'n';
  63.     std::cout << s2 << 'n';
  64.     return 0;
  65. }
  66.        
  67. 0xbc0358
  68. 0xbc0358
  69.        
  70. #include <iostream>
  71.  
  72. class singleton {
  73.     protected:
  74.         static singleton *instance;
  75.         singleton() { }
  76.     public:
  77.         static singleton& getInstance() {
  78.             if (instance == 0)
  79.                 instance = new singleton();
  80.             return *instance;
  81.         }
  82. };
  83. singleton *singleton::instance = 0;
  84.  
  85. int main() {
  86.     singleton &s1 = singleton::getInstance();
  87.     singleton &s2 = singleton::getInstance();
  88.     std::cout << &s1 << 'n';
  89.     std::cout << &s2 << 'n';
  90.     return 0;
  91. }
  92.        
  93. singleton* singleton::instance = NULL;
  94.        
  95. static singleton* getInstance()
  96. {
  97.     if(instance==NULL)
  98.         instance = new singleton();
  99.     return instance;
  100. }
  101.        
  102. singleton *singleton::instance = 0;  // use 'nullptr' if your compiler support it
  103.        
  104. static singleton& getInstance()
  105. {
  106.     if (instance == 0)
  107.         instance = new singleton;
  108.     return *instance;
  109. }