Membrii de tip static ai claselor O variabila membru static exista inainte de a fi creat orice obiect din acea clasa. De aceea el poate fi utilizat direct in main(). Si deoarece exista inainte de crearea unui obiect, i se poate da oricand o valoare, dar nu in clasa in care este declarat, ci cand este definit. #include using namespace std; class Comun { static int static_a; //error: static int static_a = 2222; nu este permisa initializarea la declarare int b; public: void init(int i) {b = i; } void modify(int i) {static_a = i; }; void arata(); };
int Comun::static_a = 1111; //defineste static_a; ATENTIE!!!!! //se mai poate si: int Comun::static_a; //fara sa initializam variabila deci /* declararea lui static_a in afara cat si in interiorul clasei Comun este necesara deoarece declararea lui static_a in interiorul lui Comun nu determina alocarea de memorie */ void Comun::arata() { cout<<"static_a = "<<static_a<<" b = "<
Related Documents
More Documents from ""