Guida programmazione orientata agli oggetti Torna alla lezione

Esempio di singleton [C++]

// Singleton.h
class Singleton
{
    public:
        static Singleton* Instance();
        void helloWorld();
    protected:
        Singleton();
    private:
        static Singleton* instanza;
};
// Singleton.cpp
#include < iostream>
#include "Singleton.h"
Singleton* Singleton::istanza = 0;
Singleton* Singleton::Instance ()
{
    if (istanza == 0)
        istanza = new Singleton;
    return istanza;
}
void Singleton::HelloWorld()
{
    cout << "Hello World!";
}
int main()
{
    Singleton *p = Singleton::Instance();
    p->HelloWorld();
    delete p;
}