Wednesday, March 08, 2006

Les paso el código del Singleton en C++:

// --------------------------------------------------------------------
// main.cpp
#include <iostream>
#include "singleton.h"

int main()
{
CSingleton * myFirstSingleton = 0;
CSingleton * mySecondSingleton = 0;
myFirstSingleton->instance();
myFirstSingleton->instance();
if (myFirstSingleton == mySecondSingleton)
{
std::cout << "It's the same instance!\n"; } return 0; }


// --------------------------------------------------------------------
// singleton.h

#ifndef CSINGLETON_DEF
#define CSINGLETON_DEF

class CSingleton {
private:
static CSingleton * m_instance;
protected:
CSingleton();
public:
static CSingleton * instance();
};

#endif

// --------------------------------------------------------------------
// singleton.cpp

#ifndef CSINGLETON_IMP
#define CSINGLETON_IMP

#include "singleton.h"

CSingleton * CSingleton::m_instance = 0;

CSingleton::CSingleton()
{
}

CSingleton * CSingleton::instance()
{
if (m_instance == 0)
{
m_instance = new CSingleton;
}
return m_instance;
}

#endif

0 Comments:

Post a Comment

<< Home