c++에서는 멤버 변수나 멤버 함수에 static을 붙일 수 있다


<정의>

클래스안에 정의된 static변수를 클래스 변수라고 한다


<표현>


class A{


static int num=3;


}




<사용법>


Class안에 static 변수를 정의하면 외부에서 사용할 수 있는 방법이 세 가지 있다


1 .num;


2. A::num;


3. 객체를 인스턴스화 했을 때

A obj;

obj.num;


*근데 이 방법은 거의 사용하지 않는다, obj.num문장만 보았을 때 num이 멤버변수인지 클래스변수인지

확실히 모르기 때문!



==================




<유의점>

1.전역변수에 선언된 static의 의미

-선언된 파일 내에서만 참조를 허용하겠다는 의미


2.함수 내에 선언된 static의 의미

-한번만 초기화되고, 지역변수와 달리 함수를 빠져나가도 소멸되지 않음


3.static변수를 생성자 안에 넣을 수 있지만 객체가 생성될 때마다 초기화되기 때문에

제대로 초기화하려면 static변수가 선언된 class의 밖에서 초기화해야한다

ex)


class A{



}

 


+ Recent posts