English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
static 키워드를 사용할 때, 변수나 데이터 멤버나 함수를 다시 변경할 수 없습니다. 그것은 프로그램의 전체 생명주기를 통해 할당됩니다. 정적 함수는 클래스 이름을 사용하여 직접 호출할 수 있습니다.
정적 변수는 한 번만 초기화됩니다. 컴파일러는 변수를 프로그램 종료까지 유지합니다. 정적 변수는 함수 내부나 외부에서 정의할 수 있습니다. 그들은 블록 로컬입니다. 정적 변수의 기본 값은 0입니다. 정적 변수는 프로그램 실행 전까지 유효합니다.
아래는 static 키워드의 문법입니다.
static datatype variable_name = value; // Static variable static return_type function_name { // Static functions ... }
이곳에서는
datatype-변수 데이터 타입, 예를 들어 int, char, float 등.
variable_name-이는 사용자가 주어진 변수 이름입니다.
value-변수를 초기화하는 어떤 값이든 사용할 수 있습니다. 기본적으로 0입니다.
return_type-return_type의 함수 데이터 타입.
function_name-function의모든 이름.
아래는 static 키워드의 예제입니다.
#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; }
Output result
Static member function is called The value of a : 8 The static variable value : 28
위의 프로그램에서는静态 변수를 선언했습니다. 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 b; Base::func(8); cout << "\nThe static variable value : " << b.val;