정적 C++ 클래스 멤버는 static 키워드를 사용하여 정의할 수 있습니다. 클래스의 정적 멤버는 클래스의 개체 수에 관계없이 메모리에 정적 클래스 멤버의 복사본이 하나만 있기 때문에 모든 클래스 개체에서 공유됩니다.
정적 클래스 멤버는 다른 방법으로 초기화되지 않은 경우 클래스의 첫 번째 개체가 생성될 때 0으로 초기화됩니다.
C++에서 정적 클래스 멤버를 보여주는 프로그램은 다음과 같습니다.
예시
#include <iostream>
using namespace std;
class Example {
public :
static int a;
int func() {
cout << "The value of static member a: " << a;
}
};
int Example::a = 20;
int main() {
Example obj;
obj.func();
return 0;
} 출력
위 프로그램의 출력은 다음과 같습니다.
The value of static member a: 20
이제 위의 프로그램을 이해합시다.
클래스 예제에서 정적 클래스 멤버는 입니다. func() 함수는 값을 표시합니다. 이를 보여주는 코드 스니펫은 다음과 같습니다.
class Example {
public :
static int a;
int func() {
cout << "The value of static member a: " << a;
}
};
int Example::a = 20; main() 함수에서 Example 클래스의 obj 객체가 생성됩니다. 그런 다음 값을 표시하는 함수 func()가 호출됩니다. 이를 보여주는 코드 스니펫은 다음과 같습니다.
int main() {
Example obj;
obj.func();
return 0;
}