본문 바로가기
01.Bit 단기/C++

21_static 멤버변수

by chojju 2018. 5. 3.
반응형

#include <iostream>
using namespace std;
//정적맴버변수
//객체 생성과 무관하다.
//전역정적공간에 저장되고
//모든 객체가 그 공간을 공유해서 사용하게 된다.

class Account
{
 string name;
 int    id;
 int    balance;
 static int    g_count; //정적맴버변수
public:
 Account(string _name, int _id, int _balance)
  : name(_name), id(_id), balance(_balance)
 { 
  g_count++;
  Info();
 }
 ~Account()
 {
 }
public:
 void Info()
 {  
  cout << g_count << "번째 객체 생성" << endl;
  cout << "현재 생성되어 있는 객체 수" << endl;
 }
};

//===========================================
//스태틱 변수는 반드시 클래스 외부에서 초기화해야 한다.
//이 시점에서 메모리에 생성된다.
//즉, main 함수 호출 전 전역정적공간에 생성된다.
int Account::g_count = 0;
//=============================================

int main()
{
 Account ac("홍길동", 1, 1000);
 Account ac1("홍길동", 1, 1000);
 Account ac2("홍길동", 1, 1000);
 Account ac3("홍길동", 1, 1000);
 Account ac4("홍길동", 1, 1000);
 Account ac5("홍길동", 1, 1000);
 Account ac6("홍길동", 1, 1000);
 return 0;
}

반응형

'01.Bit 단기 > C++' 카테고리의 다른 글

23_상수멤버변수  (0) 2018.05.03
22_static 멤버함수  (0) 2018.05.03
20_개체 생성과 소멸시점  (0) 2018.04.30
19_heap객체생성  (0) 2018.04.30
18_heap메모리 사용(C/C++ 비교)  (0) 2018.04.30

댓글