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
