Aktywne Wpisy
Villeman +53
Kitka wróciła z podwórza przedwczoraj wlokąc się praktycznie na tylnych łapach. Myślę sobię - przetrącony kręgosłup. W domu jednak widzę, że daje rade z biedą chodzić, jednak ogon jak martwy, ani rusz. Coś z nim nie tak? Może coś innego? Późna pora, brak otwartego gabinetu weterynarza, nic nie zrobię. Staram się pomóc jak tylko się da, widzę że cierpi, na noc ustawiam budzik co dwie godziny, aby sprawdzić, czy jest okej i
byferdo +159
Mam jakąś klasę, X i chcę żeby zmienna statyczna
int counter
zliczała mi ilość obiektów klasy. Jak zainicjować tą zmienną, jeżeli jest ona prywatna?
#programowanie #cpp #blisherkodzi
Komentarz usunięty przez autora
{
private:
static int counter;
public:
przyklad(){counter++;}
~przyklad(){counter--;}
static void wypisz(){std::cout<
};
int przyklad::counter=0;
int tmain(int argc, TCHAR* argv[])
{
przyklad test;
przyklad dwa;
przyklad::wypisz();
return 0;
}
counter
jest prywatny.
int przyklad::counter=0;
ta linijka musi być w pliku .cpp
edit:
wystarczy bez =0
"... w związku z tym podobnie jak zmienne globalne inicjalizowany jest autoatycznie zerem."
Chyba, że się coś zmieniło w c++11...
edit.
czyli wystarczy definicja
Nie zmienia to jednak faktu, że
static int x;
w definicji klasy to tylko deklaracja zmiennej
x
, a jej definicja wciąż musi zostać zawarta w pliku .cpp.