What is the problem?
#include <iostream>
using namespace std;
class Singleton
{
    public:
        void HelloWorld();
        static Singleton* Instance(){
        if (instanza == 0)
            instanza = new Singleton ;
        return instanza;
        }
    protected:
        Singleton();
    private:
        static Singleton* instanza;
};
Singleton* Singleton:: instanza = 0;
void Singleton::HelloWorld()
{
    cout << "Hello World!";
}
int main()
{
    Singleton *p = Singleton ::Instance();
    p->HelloWorld();
    delete p;
}
g++ -Wall -o "singleton" "singleton.cpp" (nella cartella: /home/tarek/Scrivania/Nuovi codici) /tmp/ccL8BxOT.o: nella funzione "Singleton::Instance()": singleton.cpp:(.text._ZN9Singleton8InstanceEv[_ZN9Singleton8InstanceEv]+0x24): riferimento non definito a "Singleton::Singleton()" collect2: error: ld returned 1 exit status Compilazione fallita.
 
     
    