//static member in classes
#include <iostream>
using namespace std;
class CDummy {
public:
static int n;
CDummy() {n++;};
~CDummy(){n--;};
};
int CDummy::n =0;
int main(){
CDummy a;
CDummy b[5];
CDummy *c = new CDummy;
cout << a.n << endl;
delete c;
cout << CDummy::n << endl;
return 0;
}
The result is 7, 6. Can anybody explain it for me? and I don't understand this "CDummy b[5];". People never use syntax like this in C, right? what is this here? Thank you!