상세 컨텐츠

본문 제목

Static with Class

C++/클래스

by nowpassion 2008. 5. 1. 15:34

본문

1. static이란?
- statiic으로 선언이 되면 우선적으로 스택에 저장을 한다.
- 전역변수의 역할을 해준다. 스택의 특성상  LIFO의 구조를 가지기 때문에 최후에 메모리를
  해제한다.
2.static 멤버의 활용
- 최후에 메모리가 할당해제되므로 같은 종류의 클래스를 여러개로 객체화할때 유용하게 쓰인다.
- 생성자를 이용하여 클래스가 static변수를 제어할 경우 객체생성시 마다 접근하므로
  특성이 없어짐
ex)
/*21.cpp*/
#include <iostream>
using std::endl;
using std::cout;

class Person
{
    /*static 선언 : 역시 멤버접근지정자(private, public, protected) 의 영향을 받는다.*/
    static int count;
public:
    Person(){
        count++;
      }
    
      void getCount(){
      cout << count << " 명째 사람" << endl;
      }
};
/*파일 스코프 안에서 초기화를 해주어야 한다.*/
int Person::count=0;

int main()
{
  Person p1;
  Person p2;
  Person p3;
  p3.getCount();
  return 0;
}

- 실행결과
사용자 삽입 이미지






3. static 함수?

'C++ > 클래스' 카테고리의 다른 글

Protected란?  (0) 2008.05.05
생성자, 소멸자 호출 순서  (0) 2008.05.05
const도 오버로딩의 조건에 포함  (0) 2008.05.01
const 멤버함수와 컴파일러  (0) 2008.05.01
const멤버변수를 리턴하는 경우  (0) 2008.05.01

관련글 더보기