Seite 1 von 1
					
				Statische Klasseneigenschaften initialisieren
				Verfasst: Mi Aug 18, 2010 12:50 am
				von hackmack
				Hallo
wie kann ich statische Klasseneigenschaften, welche nicht als public deklariert sind, initialisieren?
Bei public kann man es einfach folgendermassen machen:
Code: Alles auswählen
class test
{
    public:
        static int counter;
};
int test::counter = 5;
Wenn 
counter protected oder private ist, gibt mir der Compiler logischerweise einen Fehler aus.
Mfg.
hackmack
 
			
					
				Re: Statische Klasseneigenschaften initialisieren
				Verfasst: Mi Aug 18, 2010 9:46 am
				von Xin
				hackmack hat geschrieben:Hallo
wie kann ich statische Klasseneigenschaften, welche nicht als public deklariert sind, initialisieren?
Bei public kann man es einfach folgendermassen machen:
Code: Alles auswählen
class test
{
    public:
        static int counter;
};
int test::counter = 5;
Wenn 
counter protected oder private ist, gibt mir der Compiler logischerweise einen Fehler aus.
 
So logisch ist das eigentlich nicht. Welchen Compiler verwendest Du und welchen Fehler gibt er aus? (den Fehler mitzuschicken, gehört nebenher zu einer sinnvollen Frage ^^)
Wenn int test::counter = 5 nämlich in der .cpp Datei steht, dann würde ich das als korrekt empfinden, auch wenn static int counter als private gekennzeichnet ist.
 
			
					
				Re: Statische Klasseneigenschaften initialisieren
				Verfasst: Do Aug 19, 2010 11:04 pm
				von hackmack
				Xin hat geschrieben:den Fehler mitzuschicken, gehört nebenher zu einer sinnvollen Frage ^^
Sorry, hatte ich vergessen.
Komischerweise geht es jetzt einwandfrei, auch wenn 
static int counter private/protected ist. War wohl bei meinem ersten Posting etwas verschlafen  
