Documente Academic
Documente Profesional
Documente Cultură
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<iostream>
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();
};
void Comun::arata()
{
cout<<"static_a = "<<static_a<<" b = "<<b<<endl;
}
void main()
{
Comun x, y;
x.init(2);
x.arata(); //output: "static_a = 1111 b = 2"
y.init(3);
y.arata(); //output: "static_a = 1111 b = 3"