Coding/VB C C++

[C&C++] static member

smores 2007. 12. 17. 09:57
static member는 상속된 모든 class에서 같은 값을 공유한다.
// static members 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;
}

static 데이터 멤버를 초기화하려면 class 밖에서 global scope 상에서 직접 값을 대입해 줌

int CDummy::n=0;