// Staticke promenljive se mogu inicijalizovati na tacno jednom mestu u klasi i one su zajedno sa statickim metodama zajednicke za sve objekte neke klase. // Staticke metode se mogu pozivati iz objekta neke klase ali mogu se pozivati i samostalno tako sto se pre metode navede ime klase sa dve dvotacke. #include class C { public: // Staticka promenljiva koja broji koliko je objekata klase C trenutno "u zivotu". static int brojac; // U okviru konstruktora se poziva staticki metod povecaj() C() { povecaj(); } // U okviru destruktora se poziva staticki metod smanji() ~C() { smanji(); } //Staticki metod koji povecava broj kreiranih objekata klase C static void povecaj() { brojac++; } //Staticki metod koji smanjuje broj kreiranih objekata klase C static void smanji() { brojac--; } }; int C::brojac = 0; main() { C q; cout << q.brojac << endl; // Izlaz:1 C w; w.povecaj(); C::povecaj(); cout << w.brojac << endl; // Izlaz:4 C* e = new C; cout << e->brojac << endl; // Izlaz:5 delete e; cout << C::brojac << endl; // Izlaz:4 { C t; cout << t.brojac << endl; // Izlaz:5 } cout << C::brojac << endl; // Izlaz:4 return 0; }