Singleton



  • Ist eine reine statische Klasse auch ein Singleton?

    Also sowas

    class Singleton
    {
    public:
        static void DoThat() ;
        static void DoThis() ;
    private:
        static int blub ;
    };
    

    Danke für eure Antworten!



  • Es gibt keine "rein statischen" Klassen da jede Klasse einen Konstruktor hat, entweder von dir geschrieben oder vom Compiler erzeugt, und Konstruktoren können nicht static sein. Von daher ist die Frage schon hinfällig.
    Dein Beispiel ist jedenfalls kein Singleton:

    class Singleton
    {
    public:
        static void DoThat() ;
        static void DoThis() ;
    private:
        static int blub ;
    };
    
    int main()
    {
    	Singleton s1;
    	Singleton s2;
    
    	return 0;
    }
    

    Der Compiler erstellt hier den Konstruktor für dich und setzt ihn auf public, ergo kein Singleton.



  • Danke!


Anmelden zum Antworten