static 키워드를 사용하면 변수나 데이터 멤버나 함수를 다시 수정할 수 없습니다. 프로그램의 수명 동안 할당됩니다. 정적 함수는 클래스 이름을 사용하여 직접 호출할 수 있습니다.
정적 변수는 한 번만 초기화됩니다. 컴파일러는 프로그램이 끝날 때까지 변수를 유지합니다. 정적 변수는 함수 내부 또는 외부에서 정의할 수 있습니다. 블록에 로컬입니다. 정적 변수의 기본값은 0입니다. 정적 변수는 프로그램이 실행될 때까지 살아 있습니다.
다음은 정적 키워드의 구문입니다.
static datatype variable_name = value; // Static variable static return_type function_name { // Static functions ... }
여기,
데이터 유형 − int, char, float 등과 같은 변수의 데이터 유형.
변수 이름 − 사용자가 지정한 변수의 이름입니다.
가치 − 변수를 초기화할 값. 기본적으로 0입니다.
반품_유형 − 값을 반환할 함수의 데이터 유형입니다.
함수 이름 − 함수에 대한 임의의 이름.
다음은 정적 키워드의 예입니다.
예시
#include <bits/stdc++.h> using namespace std; class Base { public : static int val; static int func(int a) { cout << "\nStatic member function is called"; cout << "\nThe value of a : " << a; } }; int Base::val=28; int main() { Base b; Base::func(8); cout << "\nThe static variable value : " << b.val; return 0; }
출력
Static member function is called The value of a : 8 The static variable value : 28
위의 프로그램에서는 static 변수가 선언되어 있습니다. 정적 함수는 아래와 같이 Base 클래스에 정의되어 있습니다. -
public : static int val; static int func(int a) { cout << "\nStatic member function called"; cout << "\nThe value of a : " << a; }
클래스 이후와 main() 이전에 정적 변수는 다음과 같이 초기화됩니다.
int Base::val=28;
main() 함수에서 Base 클래스의 객체가 생성되고 정적 변수가 호출됩니다. 정적 함수도 Base 클래스의 객체를 사용하지 않고 호출됩니다.
Base b; Base::func(8); cout << "\nThe static variable value : " << b.val;