Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++ 정적 멤버 변수 및 초기화


정적 C++ 멤버 변수는 static 키워드를 사용하여 정의됩니다. 클래스의 정적 멤버 변수는 클래스의 개체 수에 관계없이 메모리에 복사본이 하나만 있기 때문에 모든 클래스 개체에서 공유됩니다.

정적 클래스 멤버 변수는 다른 방법으로 초기화되지 않은 경우 클래스의 첫 번째 개체가 생성될 때 0으로 초기화됩니다.

C++에서 정적 멤버 변수와 초기화를 보여주는 프로그램은 다음과 같습니다.

예시

#include <iostream>
using namespace std;
class Demo {
   public :
   static int num;
   int display() {
      cout << "The value of the static member variable num is: " << num;
   }
};
int Demo::num = 100;
int main() {
   Demo obj;
   obj.display();
   return 0;
}

출력

위 프로그램의 출력은 다음과 같습니다.

The value of the static member variable num is: 100

이제 위의 프로그램을 이해합시다.

Demo 클래스에서 정적 클래스 멤버 변수는 num입니다. display() 함수는 num의 값을 출력합니다. 이를 보여주는 코드 스니펫은 다음과 같습니다.

class Demo {
   public :
   static int num;
   int display() {
      cout << "The value of the static member variable num is: " << num;
   }
};
int Demo::num = 100;

main() 함수에서 Demo 클래스의 obj 객체가 생성됩니다. 그런 다음 num 값을 표시하는 함수 display()가 호출됩니다. 이를 보여주는 코드 스니펫은 다음과 같습니다.

int main() {
   Demo obj;
   obj.display();
   return 0;
}